Commit Graph

11823 Commits

Author SHA1 Message Date
Laytan Laats
03426175ae add workaround for kernel panics on MacOS 2024-07-15 22:45:16 +02:00
Jeroen van Rijn
0a9c150748 Merge pull request #3929 from laytan/fix-fmt-len-transfer-to-children
fmt: fix optional_len or use_nul_termination being used by both array and elems
2024-07-15 19:36:20 +02:00
Laytan Laats
f362e0fa20 add test for leaking struct tag into elems 2024-07-15 19:27:48 +02:00
Laytan Laats
d4d910bcfc fmt: fix optional_len or use_nul_termination being used by both array and elems
```odin
My_Struct :: struct {
	names:      [^]string `fmt:"v,name_count"`,
	name_count: int,
}

main :: proc() {
	name := "hello?"
	foo := My_Struct {
		names = &name,
		name_count = 1,
	}
	fmt.println(foo)
}
```

Before: `My_Struct{names = ["h"], name_count = 1}`
After:  `My_Struct{names = ["hello?"], name_count = 1}`
2024-07-15 18:51:18 +02:00
Jeroen van Rijn
3a75a8dd1b Merge pull request #3928 from Yawning/feature/aes-ni
core/crypto: Support AES-NI + PCLMUL
2024-07-15 18:41:21 +02:00
Yawning Angel
33dae2e26c core/crypto/aes: Support the full range of GCM nonce sizes 2024-07-16 01:29:43 +09:00
Yawning Angel
69026852ce core/crypto/aes: Add Intel AES-NI support
This supports AES-NI + PCLMUL, and provides optimized key schedule, ECB,
CTR, and GCM.  Other modes are trivial to add later if required.
2024-07-16 01:29:43 +09:00
Yawning Angel
f578994fa6 core/simd/x86: Make the AES-NI intrinsics consistent with Intel 2024-07-16 01:29:43 +09:00
Yawning Angel
1bc21c3481 core/crypto/_aes: Remove redundant sanity checks 2024-07-16 01:29:43 +09:00
Yawning Angel
c9c0b9ea7b core/crypto: Fix/add some documentation (NFC) 2024-07-16 01:29:43 +09:00
Yawning Angel
390cd3c30d core/simd/x86: Fix some intrinsics
- _mm_slli_si128 produced totally incorrect output
- _mm_storeu_si128 refered to a LLVM intrinsic that is missing
2024-07-16 01:29:43 +09:00
Yawning Angel
401877184f tests/benchmark/crypto: Benchmark AES256-CTR 2024-07-16 01:29:43 +09:00
Yawning Angel
4815154c31 test/core/crypto: Fix a copy-paste issue in failure spew 2024-07-16 01:29:43 +09:00
Yawning Angel
0d8dadec8a tests/core/crypto: Fix new -vet issues 2024-07-16 01:29:43 +09:00
Yawning Angel
ff13ee3281 core/crypto: Enforce aliasing restrictions 2024-07-16 01:29:43 +09:00
Yawning Angel
dcaf085bfa core/bytes: Add alias and alias_inexactly 2024-07-16 01:29:43 +09:00
Laytan Laats
55e0f97cc4 help fmt with Type_Info_Struct and Type_Info_Bit_Field changes 2024-07-15 18:29:06 +02:00
gingerBill
65c91b7dde Fix code gen issue with bit_set 2024-07-15 15:16:23 +01:00
gingerBill
bd562116b8 Minor change to an internal flag 2024-07-15 15:08:26 +01:00
gingerBill
1e37eaf54d Begin work for bit_set[...; [N]T] (not working) 2024-07-15 14:49:20 +01:00
Yawning Angel
1a30d47ee8 repo: Cleanup the .gitignore to match the new test runner 2024-07-15 21:25:07 +09:00
gingerBill
5cefab8229 Fix case: in type switch issue 2024-07-15 13:22:50 +01:00
gingerBill
7d643bcae3 Make linkage weak in certain places 2024-07-15 12:30:32 +01:00
gingerBill
549311fac9 Fix global variables being "missing" with -use-separate-modules 2024-07-15 12:21:42 +01:00
gingerBill
c5decd3eae Fix possible race and correct linkage _after_ generation 2024-07-15 11:49:07 +01:00
gingerBill
664a71454b -use-separate-modules default on Windows only 2024-07-15 02:53:01 +01:00
gingerBill
432388ac7f Generate backing array in the case where there is no DeclInfo for the procedure body 2024-07-15 02:42:28 +01:00
gingerBill
cc3cf12ae2 Disable -use-separate-modules by default on darwin until problem is determined 2024-07-15 02:28:27 +01:00
gingerBill
d87583bead Minimize mutex lock for #load_directory 2024-07-15 02:22:23 +01:00
gingerBill
1b0e98116d Revert changes to in_single_threaded_checker_stage 2024-07-15 01:47:52 +01:00
gingerBill
eb6805ef40 Disable the need for mutexes in single threaded checker stage 2024-07-15 01:44:23 +01:00
gingerBill
a45e05bb18 Remove need for BlockingMutex in Arena 2024-07-15 01:36:54 +01:00
gingerBill
e4ba786948 Remove use of mutex in single threaded code 2024-07-15 01:29:57 +01:00
gingerBill
cae8c1e94f Minimize use of mutex in Arena 2024-07-15 01:15:00 +01:00
gingerBill
a8f84c87ae Add the permanent and temporary arenas directly on the Thread 2024-07-15 01:05:29 +01:00
gingerBill
c64702ae5a Make -use-separate-modules the default behaviour for -o:none and -o:minimal 2024-07-15 00:43:46 +01:00
gingerBill
3311ea1c76 Keep MSVC happy with secure versions of C calls 2024-07-15 00:38:10 +01:00
gingerBill
018026d844 Use gb_zero_* calls 2024-07-15 00:36:00 +01:00
gingerBill
139c1bcdda Comment out debug code 2024-07-15 00:25:41 +01:00
gingerBill
46817e8f68 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-07-15 00:01:31 +01:00
gingerBill
196ac7e6d6 Type erase _make_dynamic_array_len_cap 2024-07-15 00:01:26 +01:00
Jeroen van Rijn
e3e31b42d0 #force_no_inline build_huffman to avoid bloat 2024-07-15 00:54:08 +02:00
gingerBill
f7cb711874 Add #force_no_inline 2024-07-14 23:48:33 +01:00
gingerBill
f657055f12 Add slice variable if not exists 2024-07-14 23:36:54 +01:00
gingerBill
26a9416a41 Minor clean ups 2024-07-14 23:33:35 +01:00
gingerBill
e768bddaeb Inline _append_elem_string further 2024-07-14 23:22:22 +01:00
gingerBill
83b7dd122a Type erase for append_elems 2024-07-14 23:20:50 +01:00
gingerBill
b0fbaf24a0 Type erase append_elem 2024-07-14 23:16:11 +01:00
gingerBill
1c3240b6b5 Add #force_no_inline 2024-07-14 23:09:58 +01:00
gingerBill
7673d478b6 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-07-14 23:09:17 +01:00