Browse Source

Enforce `core:builtin` and `core:intrinsics` for imports

gingerBill 4 years ago
parent
commit
f0437a4242

+ 1 - 1
core/bufio/scanner.odin

@@ -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 {

+ 1 - 1
core/container/map.odin

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

+ 1 - 1
core/fmt/fmt.odin

@@ -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,

+ 1 - 1
core/hash/crc32.odin

@@ -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 {

+ 1 - 1
core/hash/hash.odin

@@ -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 {

+ 1 - 1
core/io/io.odin

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

+ 1 - 1
core/math/bits/bits.odin

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

+ 1 - 1
core/math/fixed/fixed.odin

@@ -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)

+ 1 - 1
core/math/linalg/extended.odin

@@ -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)) {

+ 1 - 1
core/math/linalg/general.odin

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

+ 1 - 1
core/math/math.odin

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

+ 1 - 1
core/mem/allocators.odin

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

+ 1 - 1
core/os/file_windows.odin

@@ -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 == '\\';

+ 1 - 1
core/reflect/reflect.odin

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

+ 1 - 1
core/runtime/core.odin

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

+ 1 - 1
core/runtime/core_builtin.odin

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

+ 1 - 1
core/runtime/core_builtin_soa.odin

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

+ 1 - 1
core/runtime/dynamic_map_internal.odin

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

+ 1 - 1
core/runtime/internal.odin

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

+ 1 - 1
core/runtime/internal_linux.odin

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

+ 1 - 1
core/runtime/internal_windows.odin

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

+ 1 - 1
core/runtime/os_specific_windows.odin

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

+ 1 - 1
core/runtime/udivmod128.odin

@@ -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;

+ 1 - 1
core/slice/map.odin

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

+ 2 - 2
core/slice/slice.odin

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

+ 1 - 1
core/slice/sort.odin

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

+ 1 - 1
core/sort/sort.odin

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

+ 1 - 1
core/sync/atomic.odin

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

+ 1 - 1
core/sync/channel.odin

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

+ 1 - 1
core/sync/channel_windows.odin

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

+ 1 - 1
core/sync/sync.odin

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

+ 1 - 1
core/sync/sync2/atomic.odin

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

+ 1 - 1
core/sync/sync2/primitives_darwin.odin

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

+ 1 - 1
core/sync/wait_group.odin

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

+ 1 - 1
core/testing/runner_windows.odin

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

+ 1 - 1
core/thread/thread.odin

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

+ 1 - 1
core/thread/thread_pool.odin

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

+ 1 - 1
core/time/time.odin

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

+ 1 - 1
core/unicode/utf8/utf8string/string.odin

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

+ 6 - 1
src/parser.cpp

@@ -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);