Jeroen van Rijn
564c7821c5
Allow ExactValue_Invalid in assert.
...
Fixes #4225
2024-09-10 15:19:12 +02:00
Karl Zylinski
f9de8fdaba
Documentation typo fix in tokenizer.
2024-09-09 21:51:34 +02:00
Karl Zylinski
580f0599cd
parse_file: Removed some nesting and removed probable incorrect safety check.
2024-09-09 21:24:41 +02:00
Karl Zylinski
cc724ff5d2
Made error handling code in parse_file clearer.
2024-09-09 21:13:39 +02:00
Karl Zylinski
957cd64699
Rename process_file_tag -> parse_file_tag
2024-09-09 21:06:43 +02:00
Karl Zylinski
3637dcbd04
Simplified error messages in parse_build_tag, removed the idea of making multiple notted operating systems since it was misinformed.
2024-09-09 21:03:28 +02:00
gingerBill
a25a9e6ebe
Check for LLVM_VERSION_MAJOR >= 18
2024-09-09 14:47:44 +01:00
gingerBill
0dddd2b97e
Add internal flag
...
`-internal-fast-isel`
2024-09-09 14:39:53 +01:00
Karl Zylinski
f3a2b625ae
Merge remote-tracking branch 'origin/master' into file-tags-without-comments
2024-09-08 11:29:21 +02:00
Karl Zylinski
73e4954346
Better #+build tag error messages: Error when using more than one !notted operating system per build line. Error when using more than one operating system within a 'kind', such as writing #+build windows linux.
2024-09-08 03:13:21 +02:00
Karl Zylinski
dc767da12b
Make tags use #+ syntax instead of //+ syntax so it no longer looks like a comment. Old style still works but is deprecated with a warning. Using unknown tags is now an error instead of a warning. There is a new token for #+ which consumes the whole line (or until it hits a comment). The tags are parsed like before. There are errors to tell you if you use something invalid in the pre-package-line block.
2024-09-08 01:50:56 +02:00
Jeroen van Rijn
466a90010f
Fix #4211
2024-09-07 21:07:29 +02:00
gingerBill
5a4746c3a0
Improve debug information for procedure types
2024-09-07 17:41:16 +01:00
gingerBill
0a08a65202
Simplify #row_major matrix and matrix_flatten behaviour
2024-09-07 12:21:29 +01:00
Laytan Laats
490f8c1568
add fixed point sign extend to 128 int deps
2024-09-05 15:55:55 +02:00
Laytan Laats
6778598bc6
support the rpath changes on macos
2024-09-05 00:12:16 +02:00
Laytan
0aa971207b
add -no-rpath
2024-09-04 22:38:19 +02:00
Laytan
1a7c1d107a
set -rpath to \$ORIGIN and expect libraries next to executable just like Windows
2024-09-04 22:19:46 +02:00
Laytan
578de09775
types with explicit custom alignment are identical to types with the same natural alignment
2024-09-04 18:48:11 +02:00
Laytan
dcf339517e
make c vararg with any vs concrete type similar enough
2024-09-04 18:47:08 +02:00
Dimension4
b24157738f
Add missing help text for -build-mode:test
2024-09-02 23:40:13 +02:00
gingerBill
16c5c69a40
Merge pull request #4175 from laytan/riscv-compiler
...
Support RISC-V for the compiler itself
2024-09-02 00:20:04 +01:00
Feoramund
9871ad5fc8
Remove extra format item at end of context error message
2024-09-01 17:50:50 -04:00
Laytan
28c643d23f
riscv compiler support
2024-09-01 21:42:47 +02:00
Laytan
722b638e2c
"fix" #4169 , looks like llvm 14 bug
2024-08-31 19:40:05 +02:00
Jeroen van Rijn
c1cb1a3d7e
Simplified #assert check
2024-08-31 19:13:37 +02:00
Jeroen van Rijn
a4ac50a5b4
Check for #assert condition to be a constant bool
...
Fixes #4170
2024-08-31 19:06:17 +02:00
gingerBill
b4bdb73158
Fix new(sync.Mutex)
2024-08-31 15:06:20 +01:00
gingerBill
476030dd28
Fix #4156
2024-08-31 13:51:35 +01:00
Laytan Laats
7f3d8e115f
remove comma
2024-08-31 02:45:17 +02:00
Laytan Laats
7624ecf4ba
fix some issues with the "bad import name" errors
...
There was so much wrong here:
- The `if` statement was never entered because even on invalid import
names `path_to_entity_name` returns "_"
- Two errors were shown where one doesn't make sense, need to choose one
based on context
- Structure of the messages were different from other error messages
- Suggestion was using the wrong import path
2024-08-31 02:30:32 +02:00
Jeroen van Rijn
3072a02d5d
Attempt to account for BuildTools installer's lack of \
2024-08-30 18:54:51 +02:00
gingerBill
a4e865f90b
Fix #4166
2024-08-30 11:01:06 +01:00
gingerBill
9197a126fc
Use XOR directly rather than (~x) & mask
2024-08-30 10:52:11 +01:00
gingerBill
38ea276231
Make ~some_bit_set work on only the possible bits by doing a mask with the full set
2024-08-30 10:48:21 +01:00
avanspector
3135c89a0a
Merge branch 'master' of https://github.com/avanspector/Odin
2024-08-30 01:32:21 +02:00
avanspector
47f423c123
Set a flag for delayed checking
2024-08-30 01:32:06 +02:00
avanspector
a7a2611efc
Merge branch 'odin-lang:master' into master
2024-08-29 23:44:14 +02:00
avanspector
9866c83d61
Add missing checker delaying
2024-08-29 23:43:01 +02:00
gingerBill
fb248056c9
Merge pull request #4146 from Feoramund/fix-i128-transmute-align
...
Fix inline transmutation of `[16]i8` to `i128`
2024-08-26 22:38:24 +01:00
avanspector
43ec2b9253
checker: delay foreign block checking
...
if file scope, otherwise as before
2024-08-26 20:59:16 +02:00
avanspector
d7e977069a
Update checker.cpp
2024-08-26 19:59:15 +02:00
Feoramund
c424c94030
Fix inline transmutation of [16]i8 to i128
...
Forbids LLVM from generating SSE aligned loads on unaligned data.
2024-08-26 04:48:31 -04:00
Laytan
d299d4e1cd
riscv: add an error when atomics are used without the atomics extension
2024-08-25 21:17:00 +02:00
gingerBill
8c952878fb
Allow empty strings in link_prefix and link_suffix
2024-08-25 14:03:14 +01:00
gingerBill
aa659a637a
Fix #4132
2024-08-24 15:46:54 +01:00
gingerBill
d0eaf7642d
Add intrinsics.type_has_shared_fields
2024-08-24 14:36:18 +01:00
gingerBill
8ba87e01bd
Improve parse_enforce_tabs usage
2024-08-24 13:56:30 +01:00
gingerBill
8b248673c1
Fix #4105
2024-08-24 13:36:43 +01:00
gingerBill
b6d9a0c32e
Manually implement tail-recursion for parse_if_stmt
2024-08-24 13:16:55 +01:00