Commit Graph

5728 Commits

Author SHA1 Message Date
gingerBill 0711806c21 Merge pull request #5653 from smoke-y/emptyParen
Fix compiler segfault when trying to use () as type
2025-09-06 12:23:48 +01:00
smoke-y 5f60e7cdc0 formatting 2025-09-05 21:28:49 +05:30
smoke-y 906eddd1d4 formatting 2025-09-05 21:28:00 +05:30
smoke-y 5161731ce0 proc at type lvl seg fault 2025-09-05 11:27:28 +05:30
smoke-y c01ba41955 fix empty parentheses seg fault 2025-09-05 11:02:01 +05:30
A1029384756 3074146784 skip errors on polymorphic procs when in a proc group with other options 2025-08-28 11:30:47 -04:00
gingerBill 9381040711 Fix parentheses for raddbg expression 2025-08-22 09:32:17 +01:00
gingerBill 46d4f22ef4 Remove debug print 2025-08-22 09:29:44 +01:00
gingerBill 23689d0c01 Improve the raddbg type views generated from fmt-based struct field tags 2025-08-22 09:29:07 +01:00
gingerBill d5b1fc48fb Add @(raddbg_type_view=<optional-string>)
If no string parameter is provided, then one will be generated from the struct field tags.
The attribute must be applied if the automatic struct field tag approach is to be used.
2025-08-21 17:14:33 +01:00
gingerBill 409e397566 Fix bug with $fn: proc() when passed with a global variable 2025-08-18 21:47:09 +01:00
gingerBill 2648bd8fcd Allow #+feature global-context for @(init) and @(fini) procedures as an interim measure 2025-08-12 09:51:16 +01:00
gingerBill 8df69c95c3 Add -integer-division-by-zero:all-bits 2025-08-10 18:29:08 +01:00
gingerBill b6e0b48481 Rename block names from div to mod. 2025-08-10 17:58:46 +01:00
gingerBill 4cbcb3ace7 Add shortcut for unsigned_x/power_of_two -> unsigned_x >> log2(power_of_two) 2025-08-10 17:53:07 +01:00
gingerBill da76c743e9 Add shortcut for division by a constant 2025-08-10 17:42:49 +01:00
gingerBill ecb6b35da5 Fix name canonicalization for named specialized forms 2025-08-10 15:29:53 +01:00
gingerBill 983f3ec423 Add #+feature global-context
This allows to use of `context` in the global scope on a per file basis.
2025-08-10 15:03:30 +01:00
gingerBill 1524b40bc9 Merge pull request #5556 from odin-lang/bill/division-by-zero
Define Integer Division By Zero
2025-08-10 14:48:33 +01:00
gingerBill a0ff05e633 Merge pull request #5558 from odin-lang/bill/init-fini-changes
`@(init)` & `@(finit)` Changes.
2025-08-10 12:47:15 +01:00
janga-perlind 5db6ea8354 Do not check for explicit allocators when determining proc in proc group 2025-08-09 12:37:15 +10:00
gingerBill 786d454443 Merge pull request #5559 from Creativty/variable_dereference_suggestion
Improve dereference missing suggestion message
2025-08-08 15:34:45 +01:00
xenobas 443dd566e3 Add a better suggestion for cases that don't need ^ operator 2025-08-08 14:40:43 +01:00
gingerBill 0c7260e701 Update src/main.cpp
Co-authored-by: Itzik Shneorson <35134559+itziksn@users.noreply.github.com>
2025-08-08 12:37:36 +01:00
gingerBill 06e48099ca Improve error message 2025-08-08 12:23:22 +01:00
gingerBill b86932c03c Disallow proc "odin" procedures to be called in the global scope in variable declarations 2025-08-08 12:21:50 +01:00
gingerBill 7642e0a0e0 Require @(init) and @(fini) to be proc "contextless" () 2025-08-08 12:10:01 +01:00
gingerBill 8c1eda3e3a Handle fixed_point_div and fixed_point_div_sat 2025-08-08 11:10:01 +01:00
gingerBill 7b5cee9f1e Correct #+feature check 2025-08-08 10:50:24 +01:00
gingerBill ee01643229 Add -integer-division-by-zero:self 2025-08-08 10:41:05 +01:00
gingerBill 991883d0e1 Add #+feature integer-division-by-zero:<string> 2025-08-08 10:24:44 +01:00
gingerBill e4a0228a80 Define the behaviour of integer division by zero 2025-08-08 10:00:11 +01:00
Sunagatov Denis c22da490b9 Print the name of missing runtime procedure
This continues the fix made at 46b7abee9f,
by asserting on missing entity early and printing it's name if its not
found.
2025-08-08 04:56:59 +11:00
gingerBill 2e4837bf37 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-08-07 17:54:25 +01:00
gingerBill b6944b8acb Fix instantiation of package for parapoly records 2025-08-07 17:54:17 +01:00
Jeroen van Rijn d612f6ec07 Merge pull request #5553 from flysand7/ice-fix
Fix ICE on missing procedure in base:runtime
2025-08-07 18:44:09 +02:00
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
gingerBill a0e9a98d61 Merge pull request #5547 from harold-b/hb.objc_block_intrinsic
Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
2025-08-07 16:08:38 +01:00
gingerBill 1470c300c7 Add support for [dynamic]T in .raddbg 2025-08-07 12:45:59 +01:00
gingerBill 3de300d2f9 Fix typo 2025-08-07 12:38:15 +01:00
gingerBill 34b4b84b64 Add intrinsics.type_canonical_name 2025-08-07 12:34:41 +01:00
Harold Brenes 9d8e15b3af Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill af3184adc9 Change is_utf16 field to encoding and use an enum 2025-08-05 15:12:54 +01:00
gingerBill eae43f1225 Merge branch 'master' into bill/utf16-strings 2025-08-05 15:07:06 +01:00
gingerBill accdd7c2af Fix atomics for tuples 2025-08-05 12:31:57 +01:00
gingerBill 7f194080e6 Fix possible race condition with struct offsets 2025-08-05 12:28:18 +01:00
gingerBill c910b5e583 Add intrinsics.type_is_nearly_simple_compare 2025-08-04 12:13:30 +01:00
gingerBill f8d24923fd Fix cstring != "" 2025-08-02 13:23:20 +01:00
gingerBill 86bd9186f9 Fix string16 != "" comparison 2025-08-02 13:17:31 +01:00
gingerBill dca9bf0b0c Fix string16 literal length set in LLVM 2025-08-02 13:11:34 +01:00