Enforce core:builtin and core:intrinsics for imports

This commit is contained in:
gingerBill
2021-08-21 13:44:16 +01:00
parent 32bdad322a
commit f0437a4242
40 changed files with 46 additions and 41 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ import "core:bytes"
import "core:io" import "core:io"
import "core:mem" import "core:mem"
import "core:unicode/utf8" import "core:unicode/utf8"
import "intrinsics" import "core:intrinsics"
// Extra errors returns by scanning procedures // Extra errors returns by scanning procedures
Scanner_Extra_Error :: enum i32 { Scanner_Extra_Error :: enum i32 {
+1 -1
View File
@@ -1,6 +1,6 @@
package container package container
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
+1 -1
View File
@@ -10,7 +10,7 @@ import "core:strconv"
import "core:strings" import "core:strings"
import "core:time" import "core:time"
import "core:unicode/utf8" import "core:unicode/utf8"
import "intrinsics" import "core:intrinsics"
Info :: struct { Info :: struct {
minus: bool, minus: bool,
+1 -1
View File
@@ -1,6 +1,6 @@
package hash package hash
import "intrinsics" import "core:intrinsics"
@(optimization_mode="speed") @(optimization_mode="speed")
crc32 :: proc(data: []byte, seed := u32(0)) -> u32 #no_bounds_check { crc32 :: proc(data: []byte, seed := u32(0)) -> u32 #no_bounds_check {
+1 -1
View File
@@ -1,7 +1,7 @@
package hash package hash
import "core:mem" import "core:mem"
import "intrinsics" import "core:intrinsics"
@(optimization_mode="speed") @(optimization_mode="speed")
adler32 :: proc(data: []byte, seed := u32(1)) -> u32 #no_bounds_check { adler32 :: proc(data: []byte, seed := u32(1)) -> u32 #no_bounds_check {
+1 -1
View File
@@ -1,6 +1,6 @@
package io package io
import "intrinsics" import "core:intrinsics"
import "core:runtime" import "core:runtime"
import "core:unicode/utf8" import "core:unicode/utf8"
+1 -1
View File
@@ -1,6 +1,6 @@
package math_bits package math_bits
import "intrinsics" import "core:intrinsics"
U8_MIN :: 0; U8_MIN :: 0;
U16_MIN :: 0; U16_MIN :: 0;
+1 -1
View File
@@ -3,7 +3,7 @@ package math_fixed
import "core:math" import "core:math"
import "core:strconv" import "core:strconv"
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
Fixed :: struct($Backing: typeid, $Fraction_Width: uint) Fixed :: struct($Backing: typeid, $Fraction_Width: uint)
+1 -1
View File
@@ -1,6 +1,6 @@
package linalg package linalg
import "builtin" import "core:builtin"
import "core:math" import "core:math"
radians :: proc(degrees: $T) -> (out: T) where IS_NUMERIC(ELEM_TYPE(T)) { radians :: proc(degrees: $T) -> (out: T) where IS_NUMERIC(ELEM_TYPE(T)) {
+1 -1
View File
@@ -1,7 +1,7 @@
package linalg package linalg
import "core:math" import "core:math"
import "intrinsics" import "core:intrinsics"
// Generic // Generic
+1 -1
View File
@@ -1,6 +1,6 @@
package math package math
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
Float_Class :: enum { Float_Class :: enum {
+1 -1
View File
@@ -1,6 +1,6 @@
package mem package mem
import "intrinsics" import "core:intrinsics"
import "core:runtime" import "core:runtime"
nil_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode, nil_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
+1 -1
View File
@@ -1,7 +1,7 @@
package os package os
import win32 "core:sys/windows" import win32 "core:sys/windows"
import "intrinsics" import "core:intrinsics"
is_path_separator :: proc(c: byte) -> bool { is_path_separator :: proc(c: byte) -> bool {
return c == '/' || c == '\\'; return c == '/' || c == '\\';
+1 -1
View File
@@ -2,7 +2,7 @@ package reflect
import "core:runtime" import "core:runtime"
import "core:mem" import "core:mem"
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
Type_Info :: runtime.Type_Info; Type_Info :: runtime.Type_Info;
+1 -1
View File
@@ -20,7 +20,7 @@
// //
package runtime package runtime
import "intrinsics" import "core:intrinsics"
// NOTE(bill): This must match the compiler's // NOTE(bill): This must match the compiler's
Calling_Convention :: enum u8 { Calling_Convention :: enum u8 {
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
@builtin @builtin
Maybe :: union($T: typeid) #maybe {T}; Maybe :: union($T: typeid) #maybe {T};
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
/* /*
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
INITIAL_MAP_CAP :: 16; INITIAL_MAP_CAP :: 16;
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
bswap_16 :: proc "none" (x: u16) -> u16 { bswap_16 :: proc "none" (x: u16) -> u16 {
return x>>8 | x<<8; return x>>8 | x<<8;
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
@(link_name="__umodti3") @(link_name="__umodti3")
umodti3 :: proc "c" (a, b: u128) -> u128 { umodti3 :: proc "c" (a, b: u128) -> u128 {
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
@(link_name="__umodti3") @(link_name="__umodti3")
umodti3 :: proc "c" (a, b: u128) -> u128 { umodti3 :: proc "c" (a, b: u128) -> u128 {
+1 -1
View File
@@ -2,7 +2,7 @@
//+build windows //+build windows
package runtime package runtime
import "intrinsics" import "core:intrinsics"
foreign import kernel32 "system:Kernel32.lib" foreign import kernel32 "system:Kernel32.lib"
+1 -1
View File
@@ -1,6 +1,6 @@
package runtime package runtime
import "intrinsics" import "core:intrinsics"
udivmod128 :: proc "c" (a, b: u128, rem: ^u128) -> u128 { udivmod128 :: proc "c" (a, b: u128, rem: ^u128) -> u128 {
_ctz :: intrinsics.count_trailing_zeros; _ctz :: intrinsics.count_trailing_zeros;
+1 -1
View File
@@ -1,6 +1,6 @@
package slice package slice
import "intrinsics" import "core:intrinsics"
import "core:runtime" import "core:runtime"
import "core:mem" import "core:mem"
+2 -2
View File
@@ -1,7 +1,7 @@
package slice package slice
import "intrinsics" import "core:intrinsics"
import "builtin" import "core:builtin"
import "core:math/bits" import "core:math/bits"
import "core:mem" import "core:mem"
+1 -1
View File
@@ -1,6 +1,6 @@
package slice package slice
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
ORD :: intrinsics.type_is_ordered; ORD :: intrinsics.type_is_ordered;
+1 -1
View File
@@ -2,7 +2,7 @@ package sort
import "core:mem" import "core:mem"
import _slice "core:slice" import _slice "core:slice"
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
ORD :: intrinsics.type_is_ordered; ORD :: intrinsics.type_is_ordered;
+1 -1
View File
@@ -1,6 +1,6 @@
package sync package sync
import "intrinsics" import "core:intrinsics"
Ordering :: enum { Ordering :: enum {
Relaxed, // Monotonic Relaxed, // Monotonic
+1 -1
View File
@@ -2,7 +2,7 @@ package sync
import "core:mem" import "core:mem"
import "core:time" import "core:time"
import "intrinsics" import "core:intrinsics"
import "core:math/rand" import "core:math/rand"
_, _ :: time, rand; _, _ :: time, rand;
+1 -1
View File
@@ -1,6 +1,6 @@
package sync package sync
import "intrinsics" import "core:intrinsics"
import win32 "core:sys/windows" import win32 "core:sys/windows"
import "core:time" import "core:time"
+1 -1
View File
@@ -1,6 +1,6 @@
package sync package sync
import "intrinsics" import "core:intrinsics"
cpu_relax :: #force_inline proc "contextless" () { cpu_relax :: #force_inline proc "contextless" () {
intrinsics.cpu_relax(); intrinsics.cpu_relax();
+1 -1
View File
@@ -1,6 +1,6 @@
package sync2 package sync2
import "intrinsics" import "core:intrinsics"
cpu_relax :: intrinsics.cpu_relax; cpu_relax :: intrinsics.cpu_relax;
+1 -1
View File
@@ -4,7 +4,7 @@ package sync2
import "core:time" import "core:time"
import "core:c" import "core:c"
import "intrinsics" import "core:intrinsics"
foreign import pthread "System.framework" foreign import pthread "System.framework"
+1 -1
View File
@@ -1,6 +1,6 @@
package sync package sync
import "intrinsics" import "core:intrinsics"
Wait_Group :: struct { Wait_Group :: struct {
counter: int, counter: int,
+1 -1
View File
@@ -4,7 +4,7 @@ package testing
import win32 "core:sys/windows" import win32 "core:sys/windows"
import "core:runtime" import "core:runtime"
import "intrinsics" import "core:intrinsics"
Sema :: struct { Sema :: struct {
+1 -1
View File
@@ -2,7 +2,7 @@ package thread
import "core:runtime" import "core:runtime"
import "core:mem" import "core:mem"
import "intrinsics" import "core:intrinsics"
_ :: intrinsics; _ :: intrinsics;
+1 -1
View File
@@ -1,6 +1,6 @@
package thread package thread
import "intrinsics" import "core:intrinsics"
import "core:sync" import "core:sync"
import "core:mem" import "core:mem"
+1 -1
View File
@@ -1,6 +1,6 @@
package time package time
import "intrinsics" import "core:intrinsics"
Duration :: distinct i64; Duration :: distinct i64;
+1 -1
View File
@@ -2,7 +2,7 @@ package utf8string
import "core:unicode/utf8" import "core:unicode/utf8"
import "core:runtime" import "core:runtime"
import "builtin" import "core:builtin"
String :: struct { String :: struct {
contents: string, contents: string,
+6 -1
View File
@@ -5184,7 +5184,12 @@ bool determine_path_from_string(BlockingMutex *file_mutex, Ast *node, String bas
if (is_package_name_reserved(file_str)) { if (is_package_name_reserved(file_str)) {
*path = file_str; *path = file_str;
return true; if (collection_name == "core") {
return true;
} else {
syntax_error(node, "The package '%.*s' must be imported with the core library collection: 'core:%.*s'", LIT(file_str), LIT(file_str));
return false;
}
} }
if (file_mutex) mutex_lock(file_mutex); if (file_mutex) mutex_lock(file_mutex);