aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Change allocator to permanentgingerBill2024-04-081-2/+2
|
* Obfuscate `#line`gingerBill2024-04-083-10/+15
|
* Obfuscate `#file` and `#procedure` when `-obfuscate-source-code-locations` ↵gingerBill2024-04-083-15/+25
| | | | is enabled
* Add `"type"` field to `-json-errors`gingerBill2024-04-081-0/+8
|
* Merge pull request #3394 from laytan/wasm-fixesgingerBill2024-04-081-0/+4
|\ | | | | Wasm fixes
| * enable the required target feature `atomics` when using them in wasmLaytan Laats2024-04-081-0/+4
| |
* | Fix printing error when field name could not be foundgingerBill2024-04-081-1/+2
| |
* | Improve error messages for people using keywords instead of identifiersgingerBill2024-04-081-1/+9
|/
* Merge pull request #3389 from laytan/fix-wasm-atomicsgingerBill2024-04-061-10/+5
|\ | | | | fix wasm atomics
| * fix wasm atomicsLaytan Laats2024-04-061-10/+5
| | | | | | | | Fixes #2745
* | Fix checker crash when `or_return`/`or_break`/`or_continue` used for ↵oskarnp2024-04-061-3/+3
|/ | | | non-existing proc
* fix amd64 sysv abi to pass asan everywhereLaytan Laats2024-04-041-32/+15
| | | | | | | | | | | | | | | I verified the PR by running the entire test suite of Odin itself with `-sanitize:address` and also the ols test suite (which caused unique problems before). A test has also been added with some problematic code, Windows seems to have problems with asan in CI or in general so it is not ran there. The LB_ABI_COMPUTE_RETURN_TYPES block has been removed entirely because it was unused, I got pretty confused why it didn't effect anything at first. Fixes #3211
* Merge pull request #3372 from laytan/fix-lbarg-ignore-logicgingerBill2024-04-042-2/+6
|\ | | | | fix lbArg_Ignore logic
| * fix lbArg_Ignore logicLaytan Laats2024-04-042-2/+6
| | | | | | | | Fixes #2698
* | Merge pull request #3374 from laytan/fix-128-ints-alignment-arm64gingerBill2024-04-042-2/+2
|\ \ | | | | | | fix 128 bit int alignment on arm64
| * | fix 128 bit int alignment on arm64Laytan Laats2024-04-042-2/+2
| |/ | | | | | | Fixes #2403
* | Add better error messages with suggestions for using `context` as an identifiergingerBill2024-04-041-0/+14
| |
* | Improve error messages for `A variable declaration must be an identifier`gingerBill2024-04-041-5/+22
| |
* | Remove consecutive linking librariesgingerBill2024-04-041-1/+13
| |
* | Default to "smart" linker behaviour; Add `-min-link-libs` to use minimize ↵gingerBill2024-04-043-34/+43
| | | | | | | | link libs if wanted
* | Merge pull request #3370 from laytan/fix-objc-proc-group-edge-casegingerBill2024-04-042-3/+5
|\ \ | |/ |/| fix objc proc group edge case
| * fix objc proc group edge caseLaytan Laats2024-04-032-3/+5
| | | | | | | | Fixes #2648
* | Merge pull request #3366 from laytan/fix-vet-scope-buggingerBill2024-04-031-1/+1
|\ \ | | | | | | fix vet scope bug skipping some scopes
| * | fix vet scope bug skipping some scopesLaytan Laats2024-04-021-1/+1
| | | | | | | | | | | | Fixes #3146
* | | fix -vet warning for stack overflows not showing upLaytan Laats2024-04-031-11/+9
| |/ |/| | | | | | | Due to the placement of this code, the warning would only ever be added if the variable was also either unused or shadowed.
* | Clarity warning and error printinggingerBill2024-04-022-6/+14
| |
* | Fix printing of warningsgingerBill2024-04-021-1/+2
| |
* | Merge pull request #3363 from laytan/fix-c-varargs-named-argsgingerBill2024-04-021-0/+27
|\ \ | | | | | | fix named arguments and untyped nil with #c_vararg
| * | fix untyped nil into c varargsLaytan Laats2024-04-021-0/+6
| | | | | | | | | | | | Fixes #2842
| * | fix named arguments with #c_varargLaytan Laats2024-04-021-0/+21
| |/ | | | | | | | | | | | | | | | | Previously `args=1`, `args={}`, `args={1, 2, 3}` would all crash the compiler. Now it passes them correctly, and if given a compound literal, the values are expanded into the call so you can use a named arg while passing multiple values. Fixes #3168
* | Merge pull request #3360 from laytan/debug-info-fixesJeroen van Rijn2024-04-011-2/+2
|\ \ | | | | | | fix wrong type in map debug info
| * | change unneeded permanent allocation to temporaryLaytan Laats2024-04-011-1/+1
| | |
| * | fix wrong type in map debug infoLaytan Laats2024-04-011-1/+1
| | |
* | | Merge pull request #3358 from laytan/debug-info-fixesgingerBill2024-04-014-489/+446
|\| | | |/ |/| debug info fixes/refactor
| * remove soa handling in debug info, fields are already added in checkerLaytan Laats2024-04-011-50/+1
| |
| * debug info fixes/refactorLaytan Laats2024-04-014-489/+495
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes (on my end) #3340, #3117, #2945, #2922, and #2762 A general refactor of debug info generation in order to fix issues and increase stability. What I believe is the root cause of a bunch of issues is that we use the temporary metadata/forward declarations too much (/ hold onto them for too long). It seems to cause problems with the reference counting inside LLVM. This PR reduces the use of these forward declarations to a minimum, it creates it, fills in the fields, and resolves it, instead of waiting until the end of generating code. Some smaller issues I came across have also been solved.
* | Fix nested `ERROR_BLOCK` buggingerBill2024-04-011-5/+13
| |
* | Fix type checking for invalid enum backing typegingerBill2024-04-012-6/+4
| |
* | Error message when RTTI is disabled when iterating over an `enum` type or a ↵gingerBill2024-04-011-0/+6
| | | | | | | | `bit_set` of `enum` with `for in`
* | Unify error message logic for ranges over `bit_set`gingerBill2024-04-011-9/+5
| |
* | Support `for in` with `bit_set`gingerBill2024-04-013-57/+152
| |
* | Fix error messagegingerBill2024-04-011-2/+2
|/
* Enforce error on old style for/switch l-valuegingerBill2024-03-301-4/+0
|
* Fix debug info for `map`gingerBill2024-03-301-4/+0
|
* Fix `#field_align` issues, by simplifying the LLVM struct type generationgingerBill2024-03-301-9/+8
|
* Try storing a pointer to a fake metadata type in the debug info for a `map`gingerBill2024-03-302-8/+6
|
* Merge pull request #3348 from rick-masters/fix_convert_smaller_float_endiangingerBill2024-03-291-3/+15
|\ | | | | Implement endian conversions for smaller float types.
| * Implement endian conversions for smaller float types.rick-masters2024-03-291-3/+15
| |
* | Merge pull request #3350 from laytan/fix-gb.h-for-fsanitize-addressgingerBill2024-03-291-4/+9
|\ \ | | | | | | fix gb.h to be able to use -fsanitize=address
| * | fix gb.h to be able to use -fsanitize=addressLaytan Laats2024-03-291-4/+9
| | |