Commit Graph

4557 Commits

Author SHA1 Message Date
Feoramund
1165d65c94 Minimally support compiling Odin on FreeBSD arm64
This is enough to get Odin itself compiling and the demo running.
2024-05-05 07:26:45 -04:00
gingerBill
595726e6c5 Merge pull request #3369 from joakin/fix-dynamic-library-from-vendor-on-linux
Fix vendor dynamic libraries not working on Linux
2024-05-03 17:14:32 +01:00
gingerBill
fed03e896c Merge pull request #3525 from Feoramund/fix-more-error-racecond
Fix more race conditions in error reporting
2024-05-03 17:14:13 +01:00
gingerBill
2201f365a1 Allow #no_alias on multi-pointers 2024-05-03 14:51:02 +01:00
gingerBill
f2505b096d Improve error message's suggestion for if !integer 2024-05-03 14:22:30 +01:00
gingerBill
242307dd44 Revert to old StringMap internal layout 2024-05-03 12:34:12 +01:00
Feoramund
67b786c738 Fix more race conditions in error reporting 2024-05-01 16:41:02 -04:00
gingerBill
eb06cb5d23 Merge pull request #3518 from laytan/sysinfo-arm-additions
sys/info: add arm feature detection, fix Linux implementation, show more CPU info on Darwin
2024-04-30 12:48:48 +01:00
Laytan Laats
d40c207fde sys/info: retrieve better CPU description on Darwin
Previously either `ARM` or `ARM64`, now you get something like `Apple
M1`
2024-04-30 00:24:09 +02:00
gingerBill
d6824ea607 Merge pull request #3505 from Feoramund/allow-disabled-init-procs
Allow `@(init)` procs to be `@(disabled)`
2024-04-29 12:03:54 +01:00
Feoramund
a573161abd Allow @(init) procs to be @(disabled) 2024-04-28 14:42:04 -04:00
Feoramund
f1c13d6bd8 Fix race condition in error_va
If the error count exceeded `MAX_ERROR_COLLECTOR_COUNT`, multiple
threads could print and exit simultaneously, causing a segfault.

This change moves the mutex lock back before the conditional.
2024-04-28 14:03:11 -04:00
gingerBill
3b4169c903 Merge pull request #3495 from Feoramund/fix-rune-literal-error-double-reporting
Fix invalid rune literal reported twice
2024-04-28 15:22:05 +01:00
Laytan Laats
4fea5720a5 wasm: allow -default-to-nil-allocator 2024-04-28 16:05:41 +02:00
gingerBill
30cfdd73b0 Add extra asserts 2024-04-28 14:45:59 +01:00
Feoramund
29987c20c0 Fix invalid rune literal reported twice
The tokenizer and the parser were reporting it in different positions.
This way, they'll report in the same spot.
2024-04-28 07:02:21 -04: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
joakin
60ef4fda4d Recognize dynamic library names like libraylib.so.5.0.0 2024-04-19 13:35:53 +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