Commit Graph

4541 Commits

Author SHA1 Message Date
gingerBill
30cfdd73b0 Add extra asserts 2024-04-28 14:45:59 +01:00
Feoramund
ebfbe4d260 Clear unused global_error_collector.curr_error
This should cleanly prevent acknowledging duplicate errors on the same
position as seems to be the intent based on the prior `else if`
condition.
2024-04-28 06:44:28 -04:00
gingerBill
5e1b376e22 Disallow for x in bitset_or_map if x is a variable that matches the "key" 2024-04-27 10:34:17 +01:00
gingerBill
393e4a9db6 Generalize Odin call-based "iterators" to work with more than 2-values: for x, y, z, w in iterate(&it)
It has an artificial limitation of 100 values because if you need for than that, you're doing something wrong.
2024-04-27 09:53:02 +01:00
gingerBill
6520794764 Fix wrong allocator usage 2024-04-27 08:50:05 +01:00
gingerBill
4bea5dbac1 Correct map usage 2024-04-26 15:09:08 +01:00
gingerBill
2b26384b89 Implement dumb PtrMap 2024-04-26 15:04:46 +01:00
gingerBill
c685b404ea Implement dumb StringMap 2024-04-26 14:15:22 +01:00
gingerBill
a3e77dcc3b Minor clean up 2024-04-26 13:25:08 +01:00
gingerBill
7305478261 Minor changes 2024-04-26 13:12:23 +01:00
gingerBill
94e0707456 Fix minor bug 2024-04-26 13:12:15 +01:00
gingerBill
f745fff640 Merge pull request #3467 from laytan/clang-18-linking-backport
fix linking with clang-18
2024-04-25 16:09:17 +01:00
gingerBill
1ea353dbf7 Merge pull request #3479 from laytan/support-0-sized-return-arm64-abi
compiler: support returning 0 sized types in arm64 abi
2024-04-25 12:31:56 +01:00
gingerBill
3b53c99576 Improve support for big-endian bit_fields 2024-04-24 20:55:18 +01:00
Laytan Laats
e8c5bb4629 compiler: support returning 0 sized types in arm64 abi 2024-04-24 19:50:39 +02:00
gingerBill
94d35d9918 Disallow mixing endian types within a bit_field 2024-04-24 17:31:31 +01:00
gingerBill
04278cd654 Remove line info in message with -json-errors 2024-04-24 17:13:53 +01:00
gingerBill
15942fbf25 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-04-24 17:01:16 +01:00
gingerBill
214537b420 Improve codegen for bit_field [N]T compound literals 2024-04-24 17:01:09 +01:00
gingerBill
c330e5b5c1 Improve codegen for bit_field compound literals with an integer backing 2024-04-24 14:46:34 +01:00
gingerBill
ec5a84a537 Improve code generation for loading bit_field fields 2024-04-24 13:10:58 +01:00
gingerBill
5b6c96cd18 Merge pull request #3466 from laytan/fix-proc-args-debug-info
fix direct proc args debug info
2024-04-23 13:07:25 +01:00
Laytan
d1a1e8f646 fix linking with clang-18
Because we currently just use the clang from the user's path linking
suddenly breaks when the user updates their system clang to 18 with an
error about an unknown option -arch.

I had already fixed it for my LLVM 18 PR but it seems like a good idea
to get this in already to avoid that breakage (had a few people come to
the Discord with it and an issue).

This fixes #3461
2024-04-22 20:58:54 +02:00
gingerBill
75fcd50b9a Merge branch 'master' of https://github.com/odin-lang/Odin 2024-04-22 18:41:51 +01:00
gingerBill
c6a446fe87 Add check for build. and run. typos 2024-04-22 18:41:48 +01:00
Laytan Laats
90369b669b fix direct proc args debug info 2024-04-22 19:36:24 +02:00
Thomas la Cour
ebb1a07dd0 spelling 2024-04-20 09:37:30 +02:00
Thomas la Cour
0a16f7a6f1 normalize_path 2024-04-20 09:37:30 +02:00
gingerBill
2416380f34 Enforce as global constant 2024-04-18 12:56:18 +01:00
gingerBill
5200e3fe7a Set __$ti- stuff to be private linkage 2024-04-18 12:45:20 +01:00
gingerBill
b72d49ceb5 Set linkage to private for __$type_info_data 2024-04-18 12:41:05 +01:00
gingerBill
689982a38d Force runtime type table to be in rodata/rdata section 2024-04-18 12:22:41 +01:00
gingerBill
f84a092977 Fix typo. 2024-04-18 11:28:46 +01:00
gingerBill
aad41fc762 Fix #3445 2024-04-18 11:27:42 +01:00
gingerBill
ece78d22d2 Add -no-type-assert and ODIN_NO_TYPE_ASSERT 2024-04-18 11:22:31 +01:00
gingerBill
5c52f3cf2f Add ODIN_NO_BOUNDS_CHECK 2024-04-18 11:13:44 +01:00
gingerBill
7cd2bc26f4 Clear error message on collisions with using on struct fields 2024-04-17 13:31:32 +01:00
gingerBill
a61ae7c861 Fix #3427 2024-04-16 13:31:49 +01:00
gingerBill
8a0f9ae108 Print to string buffer before printing errors 2024-04-16 13:15:23 +01:00
gingerBill
36644a3c09 Add template specialization for compared against "" with String internally 2024-04-15 12:43:45 +01:00
gingerBill
7e582dd671 Add basic suggestion to missing package name 2024-04-15 12:43:27 +01:00
gingerBill
2e29687cee Fix #3425 2024-04-15 10:28:14 +01:00
Laytan Laats
9f97056c14 add 'odin root' command 2024-04-13 20:08:57 +02:00
gingerBill
5726b7d954 Remove warning on clang 2024-04-12 14:51:22 +01:00
gingerBill
4240e0025e Improve scalar -> array assignment when the scalar is constant in LLVM 2024-04-12 14:20:46 +01:00
gingerBill
caa344c88d Simplify scalar -> array conversions in LLVM to use a loop after a certain size 2024-04-12 14:05:36 +01:00
gingerBill
46b9bd8c0e Improve error messages for switch and for r-values with a suggestion 2024-04-12 13:35:14 +01:00
gingerBill
3426af2d6c Fix #3415 2024-04-12 12:33:25 +01:00
gingerBill
efc3f9916e Fix #3414 2024-04-12 12:30:16 +01:00
gingerBill
cb0a57eaa9 Add -target:freestanding_amd64_win64 2024-04-11 17:18:51 +01:00