Sunagatov Denis
46b7abee9f
Fix ICE on missing procedure in base:runtime
...
When a required built-in procedure is missing from the base:runtime
package, an assert should be triggered. However this does not happen
and instead the compiler crashes silently. The cause is the
null-dereference after scope_lookup_current returns nullptr.
This adds an assertion that the runtime procedure is found, before
proceeding to check it's type and performing further lookups.
2025-08-08 03:30:15 +11:00
Airtz
2259db9a53
Better error messages
2025-06-24 02:54:14 +02:00
Jeroen van Rijn
8707989e57
Merge pull request #5389 from Airtz/fix-4445
...
Fix #4445
2025-06-23 19:14:00 +02:00
Airtz
d65b1d5e94
Better proc groups inference
2025-06-23 18:10:40 +02:00
Feoramund
3608297e0b
Forbid nested declaration of instrumentation procedures
...
Fixes #3774
2025-06-23 09:11:16 -04:00
Feoramund
d343f54d6d
Fix spurious failure to compile procedures marked @instrumentation_enter
...
The type `Source_Code_Location` may not be available yet, which causes
the compiler to not recognize the procedure type correctly.
2025-06-23 09:03:50 -04:00
Airtz
38187ef206
Merge branch 'odin-lang:master' into fix-4445
2025-06-22 17:05:32 +02:00
Jeroen van Rijn
56d9671f63
Merge pull request #5368 from Airtz/master
...
Fix #5331 and `check_shift` improvements
2025-06-22 16:58:21 +02:00
Airtz
277130111e
sign check error message update
2025-06-22 16:51:44 +02:00
Airtz
19c0f43e19
Fix #4445
2025-06-22 16:15:22 +02:00
gingerBill
8d37f9de09
Merge pull request #5378 from laytan/fix-wasm-c-abi-raw-unions
...
Fix WASM C ABI for raw unions
2025-06-21 11:01:52 +01:00
Jeroen van Rijn
8dc374a6ae
Merge pull request #5380 from Feoramund/fix-2410
...
Ensure `volatile` status for all atomic operations
2025-06-21 01:55:04 +02:00
Feoramund
5b1113acb4
Ensure volatile status for all atomic operations
...
Fixes #2410
2025-06-20 19:43:41 -04:00
Jeroen van Rijn
7abd86c211
Clarify --- for global variable.
2025-06-21 00:05:15 +02:00
Laytan
62c5805c91
Merge pull request #5150 from wishfoundry/patch-1
...
spelling in compilation errors
2025-06-20 22:37:03 +02:00
Laytan
2995557394
Merge pull request #5211 from Barinzaya/union-custom-align-tag-size
...
Consider custom `#align` when determining union tag size
2025-06-20 22:31:31 +02:00
Feoramund
378e72b211
Push context onto stack before evaluating procedure parameters
...
Fixes #4711
2025-06-20 16:11:08 -04:00
Laytan Laats
3db8972c99
add return
2025-06-20 22:07:46 +02:00
Laytan Laats
3a86bc9c6d
Fix WASM C ABI for raw unions
2025-06-20 22:04:53 +02:00
xenobas
0ed54d3557
fix: escape object files with single quotes during linking
2025-06-20 19:40:24 +01:00
Airtz
7c5b5618e8
check_is_expressible instead of convert_to_typed when there is no type_hint
2025-06-20 04:49:39 +02:00
Airtz
c7c5258c58
Update check_expr.cpp
2025-06-20 01:23:40 +02:00
Jeroen van Rijn
29d9a12491
Add check_all scripts
2025-06-16 22:26:24 +02:00
Airtz
fe7fbfedc0
Fix typo in error_article_table lookup
2025-06-16 12:22:03 +02:00
Jeroen van Rijn
cc08dca53d
Add additional nullptr checks in types.cpp
...
Ran into a bunch of nullptr problems while reviving an 8-year old Odin problem.
2025-06-14 01:13:36 +02:00
Laytan Laats
144daf6fff
add macOS Tahoe to odin report and core:sys/info
2025-06-14 00:27:37 +02:00
gingerBill
2a292b588a
Merge pull request #5305 from Feoramund/fix-4362
...
Guard against invalid proc types in parameter list
2025-06-10 17:15:13 +01:00
Feoramund
1fc390146f
Let -no-entry-point work for Windows DLLs
...
Fixes #4660
2025-06-10 08:54:28 -04:00
Jeroen van Rijn
6cb2408d70
Define empty gb_no_asan if VS < 2022
2025-06-10 13:20:01 +02:00
Feoramund
5ed2735658
Guard against invalid proc types in parameter list
...
Fixes #4362
2025-06-10 06:13:14 -04:00
gingerBill
87247b8bb7
Merge pull request #5286 from Feoramund/no-san-mem
...
Add `@(no_sanitize_memory)` with additions to `base:sanitizer`
2025-06-09 12:46:22 +01:00
Feoramund
54f018ffc7
Guard against untyped nil in type cycle and type info sections
...
Fixes #5299
2025-06-08 17:48:01 -04:00
Jeroen van Rijn
23315195c4
Merge pull request #5294 from iarkn/type-is-bit-field
...
Add `intrinsics.type_is_bit_field` proc
2025-06-06 16:14:25 +02:00
iarkn
3152be01b9
Add intrinsics.type_is_bit_field proc
2025-06-06 16:01:13 +02:00
Feoramund
1cd1f9fec4
Add nullptr check in add_type_info_type_internal
...
Fixes #5215
2025-06-06 09:23:06 -04:00
Feoramund
9c5640886d
Add @(no_sanitize_memory) proc attribute with MSan additions to base:sanitizer
2025-06-05 16:06:40 -04:00
Hayden Gray
ccdd14394e
[parser.cpp] - packages with .odin in the name no longer attempt
...
to parse as odin files
2025-06-05 11:24:50 -04:00
Feoramund
36b41ce163
Let compound literal array be broadcast to a struct field of arrays
...
Fixes #4364
Patch courtesy of @cribalik
2025-06-05 07:48:10 -04:00
Jeroen van Rijn
1a35c7f954
Merge pull request #5279 from Feoramund/fix-4673
...
Be strict with type switch case column alignment too
2025-06-04 20:24:44 +02:00
Feoramund
d046214f67
Be strict with type switch case column alignment too
...
This copies the same block used for regular switch cases.
Fixes #4673
2025-06-04 14:00:33 -04:00
Feoramund
b0d050dd90
Print timings to stderr instead of stdout
...
This is in line with other diagnostic messages.
Fixes #4642
2025-06-04 13:59:31 -04:00
gingerBill
6804f4c471
Add support for #soa[N]T compound literals
2025-06-04 13:56:46 +01:00
Feoramund
68ed631582
Forbid multiple uses of -sanitize
...
`clang` does not allow this.
Fixes #4354
2025-06-03 21:23:24 -04:00
Jeroen van Rijn
dd27049e13
Merge pull request #5261 from spiel0meister/master
...
add a missing nullptr check
2025-06-03 15:39:09 +02:00
Jeroen van Rijn
fab7715c35
Allow -dynamic-literals for [dynamic]T
2025-06-03 15:22:20 +02:00
Jeroen van Rijn
fcf0d4efa1
Merge pull request #5264 from LeandroLibanio28H/5243-fix-scope-attribute-proc-grouping
...
Fix scope attribute proc grouping (#5243 )
2025-06-03 14:49:40 +02:00
spiel0meister
d1fcec63cc
early return; fix indentation
2025-06-03 14:46:44 +02:00
Leandro Libanio
0f5e30783c
Update check_expr.cpp
...
Removing iostream
2025-06-03 08:55:38 -03:00
Jeroen van Rijn
82dfb43663
Fix #5265
2025-06-03 11:18:11 +02:00
LeandroLibanio28H
e6b086e78d
Removing unreacheable block (since e86fde3)
2025-06-02 20:48:25 -03:00