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

View File

@@ -4,7 +4,7 @@ import "core:bytes"
import "core:io"
import "core:mem"
import "core:unicode/utf8"
import "intrinsics"
import "core:intrinsics"
// Extra errors returns by scanning procedures
Scanner_Extra_Error :: enum i32 {

View File

@@ -1,6 +1,6 @@
package container
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;

View File

@@ -10,7 +10,7 @@ import "core:strconv"
import "core:strings"
import "core:time"
import "core:unicode/utf8"
import "intrinsics"
import "core:intrinsics"
Info :: struct {
minus: bool,

View File

@@ -1,6 +1,6 @@
package hash
import "intrinsics"
import "core:intrinsics"
@(optimization_mode="speed")
crc32 :: proc(data: []byte, seed := u32(0)) -> u32 #no_bounds_check {

View File

@@ -1,7 +1,7 @@
package hash
import "core:mem"
import "intrinsics"
import "core:intrinsics"
@(optimization_mode="speed")
adler32 :: proc(data: []byte, seed := u32(1)) -> u32 #no_bounds_check {

View File

@@ -1,6 +1,6 @@
package io
import "intrinsics"
import "core:intrinsics"
import "core:runtime"
import "core:unicode/utf8"

View File

@@ -1,6 +1,6 @@
package math_bits
import "intrinsics"
import "core:intrinsics"
U8_MIN :: 0;
U16_MIN :: 0;

View File

@@ -3,7 +3,7 @@ package math_fixed
import "core:math"
import "core:strconv"
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
Fixed :: struct($Backing: typeid, $Fraction_Width: uint)

View File

@@ -1,6 +1,6 @@
package linalg
import "builtin"
import "core:builtin"
import "core:math"
radians :: proc(degrees: $T) -> (out: T) where IS_NUMERIC(ELEM_TYPE(T)) {

View File

@@ -1,7 +1,7 @@
package linalg
import "core:math"
import "intrinsics"
import "core:intrinsics"
// Generic

View File

@@ -1,6 +1,6 @@
package math
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
Float_Class :: enum {

View File

@@ -1,6 +1,6 @@
package mem
import "intrinsics"
import "core:intrinsics"
import "core:runtime"
nil_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,

View File

@@ -1,7 +1,7 @@
package os
import win32 "core:sys/windows"
import "intrinsics"
import "core:intrinsics"
is_path_separator :: proc(c: byte) -> bool {
return c == '/' || c == '\\';

View File

@@ -2,7 +2,7 @@ package reflect
import "core:runtime"
import "core:mem"
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
Type_Info :: runtime.Type_Info;

View File

@@ -20,7 +20,7 @@
//
package runtime
import "intrinsics"
import "core:intrinsics"
// NOTE(bill): This must match the compiler's
Calling_Convention :: enum u8 {

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
@builtin
Maybe :: union($T: typeid) #maybe {T};

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
/*

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
INITIAL_MAP_CAP :: 16;

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
bswap_16 :: proc "none" (x: u16) -> u16 {
return x>>8 | x<<8;

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
@(link_name="__umodti3")
umodti3 :: proc "c" (a, b: u128) -> u128 {

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
@(link_name="__umodti3")
umodti3 :: proc "c" (a, b: u128) -> u128 {

View File

@@ -2,7 +2,7 @@
//+build windows
package runtime
import "intrinsics"
import "core:intrinsics"
foreign import kernel32 "system:Kernel32.lib"

View File

@@ -1,6 +1,6 @@
package runtime
import "intrinsics"
import "core:intrinsics"
udivmod128 :: proc "c" (a, b: u128, rem: ^u128) -> u128 {
_ctz :: intrinsics.count_trailing_zeros;

View File

@@ -1,6 +1,6 @@
package slice
import "intrinsics"
import "core:intrinsics"
import "core:runtime"
import "core:mem"

View File

@@ -1,7 +1,7 @@
package slice
import "intrinsics"
import "builtin"
import "core:intrinsics"
import "core:builtin"
import "core:math/bits"
import "core:mem"

View File

@@ -1,6 +1,6 @@
package slice
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
ORD :: intrinsics.type_is_ordered;

View File

@@ -2,7 +2,7 @@ package sort
import "core:mem"
import _slice "core:slice"
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;
ORD :: intrinsics.type_is_ordered;

View File

@@ -1,6 +1,6 @@
package sync
import "intrinsics"
import "core:intrinsics"
Ordering :: enum {
Relaxed, // Monotonic

View File

@@ -2,7 +2,7 @@ package sync
import "core:mem"
import "core:time"
import "intrinsics"
import "core:intrinsics"
import "core:math/rand"
_, _ :: time, rand;

View File

@@ -1,6 +1,6 @@
package sync
import "intrinsics"
import "core:intrinsics"
import win32 "core:sys/windows"
import "core:time"

View File

@@ -1,6 +1,6 @@
package sync
import "intrinsics"
import "core:intrinsics"
cpu_relax :: #force_inline proc "contextless" () {
intrinsics.cpu_relax();

View File

@@ -1,6 +1,6 @@
package sync2
import "intrinsics"
import "core:intrinsics"
cpu_relax :: intrinsics.cpu_relax;

View File

@@ -4,7 +4,7 @@ package sync2
import "core:time"
import "core:c"
import "intrinsics"
import "core:intrinsics"
foreign import pthread "System.framework"

View File

@@ -1,6 +1,6 @@
package sync
import "intrinsics"
import "core:intrinsics"
Wait_Group :: struct {
counter: int,

View File

@@ -4,7 +4,7 @@ package testing
import win32 "core:sys/windows"
import "core:runtime"
import "intrinsics"
import "core:intrinsics"
Sema :: struct {

View File

@@ -2,7 +2,7 @@ package thread
import "core:runtime"
import "core:mem"
import "intrinsics"
import "core:intrinsics"
_ :: intrinsics;

View File

@@ -1,6 +1,6 @@
package thread
import "intrinsics"
import "core:intrinsics"
import "core:sync"
import "core:mem"

View File

@@ -1,6 +1,6 @@
package time
import "intrinsics"
import "core:intrinsics"
Duration :: distinct i64;

View File

@@ -2,7 +2,7 @@ package utf8string
import "core:unicode/utf8"
import "core:runtime"
import "builtin"
import "core:builtin"
String :: struct {
contents: string,

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)) {
*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);