Commit Graph

5592 Commits

Author SHA1 Message Date
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
LeandroLibanio28H 7b612a3a15 Checking if entity is exported before checking if it's a procedure group 2025-06-02 20:14:19 -03:00
spiel0meister 648fa9e54a check if expr is null 2025-06-02 23:24:46 +02:00
Jeroen van Rijn ccef390c0c Merge pull request #4339 from laytan/fix-swizzle-in-for
fix swizzle in for in statement
2025-06-02 21:20:11 +02:00
Laytan Laats f94fc992d7 fix swizzle in for in statement
Fixes #1730
2025-06-02 20:30:48 +02:00
Laytan Laats 912018b427 fix package docs in a "hacky" way 2025-06-02 17:03:02 +02:00
Jeroen van Rijn 2788cfaa0d Merge pull request #5255 from Feoramund/build-mode-test-all-packages
Let `-test-all-packages` work with `-build-mode:test`
2025-06-02 14:35:24 +02:00
Bambo-Borris 9ba68f2024 Correct spelling in odin doc -help output 2025-06-02 12:48:45 +01:00
Feoramund 16b8da6a79 Let -test-all-packages work with -build-mode:test
Fixes #3930
2025-06-02 07:47:19 -04:00
Jeroen van Rijn 1ea166fb97 Merge pull request #5251 from Feoramund/fix-quat-real-real-real-real
Fix a couple `quaternion` bugs
2025-06-01 20:52:46 +02:00
Feoramund 7996f89410 Show quaternion arguments in wxyz order, instead of xyzw, in mismatched type error
This is in accordance with the other error and makes sense with how
quaternions are printed with `real`/`w` coming first, then the
imaginaries, which are the `ijk`/`xyz` parts.
2025-06-01 14:36:38 -04:00
Feoramund b70d2b156a Make quaternion untyped values convert to first typed value found
This fixes an issue (#2079) where a typed argument could cause the
construction to fail on the basis of failed untyped -> typed conversion.
2025-06-01 14:35:53 -04:00
Feoramund 705ae3f343 Fix quaternion construction causing compiler crash
Previously, a construction of `quaternion(real=0, real=1, real=2,
real=3)` could crash the compiler.
2025-06-01 13:35:22 -04:00
Jeroen van Rijn 805f7ce973 Typo fix 2025-06-01 19:22:51 +02:00
Jeroen van Rijn 405bf7cd55 Also clean up .dSym on Darwin 2025-06-01 15:59:38 +02:00
Jeroen van Rijn 349a34cb1a Also delete .pdb unless -keep-executable is supplied 2025-06-01 13:37:26 +02:00
Feoramund 57019f199c Add suggestions for quaternionN or complexN conversions
Quaternions and complex numbers are constructed with `quaternion` and
`complex`, but their types are of the `*N` form.

These suggestions should point the user in the right direction.
2025-05-31 07:09:29 -04:00
Feoramund 598c1a1f19 Allow overriding object extension in -build-mode:obj 2025-05-30 08:01:23 -04:00
Feoramund 73866b6b3d Remove trailing whitespace 2025-05-30 07:31:03 -04:00
Feoramund ee8234c792 Don't double-append module name when building separate objects
`m->module_name` will already have the `BuildPath_Output` name
prepended.
2025-05-30 07:15:34 -04:00
Feoramund 3c1201fb2c Error on unterminated multi-line comment 2025-05-29 18:28:54 -04:00
Jeroen van Rijn 0d0f311df1 Always provide /PDB option to linker if generating debug info.
radlink by default places the .PDB file in the working directory, even if /OUT says to place it elsewhere,
unlike link.exe, which places it next to the executable by default.

So, if compiling using -debug, we generate a PDB path even if -pdb-name wasn't used to override it.
2025-05-29 19:02:46 +02:00
gingerBill 7853a1db1c Fix #5228 2025-05-29 16:35:28 +01:00