Commit Graph

4305 Commits

Author SHA1 Message Date
gingerBill
0ebc2add03 Use a cache when generating the map header to minimize stack wastage 2022-09-17 12:56:03 +01:00
gingerBill
7840c1b89f Change __dynamic_map_get and __dynamic_map_set to use separate parameters rather than take a singular struct 2022-09-17 12:48:12 +01:00
gingerBill
99a1a10286 Fixed #2044 Uninitialised constant struct member values can cause crash
Foo :: struct {
    x: i32,
    data: sa.Small_Array(10, i32),
}

defaultFoo :: Foo{
    x = 1,
    // The 'data' value is not set!
}

fmt.println(defaultFoo.data) // caused the bug
2022-09-17 11:01:56 +01:00
gingerBill
9640b49319 Fix #1435 type switch statements of empty union types 2022-09-17 10:42:54 +01:00
gingerBill
1bc0e66ed1 Improve error message for using offset_of within a struct itself of that struct 2022-09-17 10:36:49 +01:00
gingerBill
117d32dfc4 Enforce constant pointer cast on global procedure variable initialization x := proc() {} 2022-09-17 10:26:57 +01:00
gingerBill
98eaf5c6c0 Fix #2054 Differing behaviours with defer statements for single vs multiple return values caused by naïve ABI optimization 2022-09-17 10:20:04 +01:00
Zac Nowicki
4767311a22 Fix -verbose-error source lines from having last char cut off
Fixes #1226
2022-09-15 07:09:38 -04:00
gingerBill
f50fc33749 Clean up of the core library to make the stream vtables not be pointers directly. 2022-09-15 10:00:50 +01:00
gingerBill
a3c04db828 Revert "Just get the value directly and store it in another global variable"
This reverts commit 190c3ab0cd.
2022-09-14 17:57:12 +01:00
gingerBill
3ea7af4c9c Minor fix to lb_big_int_to_llvm 2022-09-14 17:51:33 +01:00
gingerBill
190c3ab0cd Just get the value directly and store it in another global variable
// global
x := &Foo{}
2022-09-14 17:50:31 +01:00
gingerBill
663b62e45f Fix ODIN_BUILD_PROJECT_NAME 2022-09-12 14:43:50 +01:00
gingerBill
6910182011 Fix debug generation for named results 2022-09-12 14:12:31 +01:00
gingerBill
ef372bd861 Replace #optional_second with #optional_allocator_error 2022-09-12 13:08:32 +01:00
gingerBill
fbbfe438dc Improve debug info to named return values 2022-09-12 13:08:05 +01:00
gingerBill
913e8b2e02 Unify debug parameter code 2022-09-10 10:03:51 +01:00
gingerBill
623d687192 Split debug info generation for direct and indirect parameters 2022-09-09 23:07:09 +01:00
gingerBill
3fae8b49db Fix pointer cast of constant procedure values 2022-09-08 17:27:13 +01:00
gingerBill
0859ccc5c0 Disable buggy escape analysis 2022-09-08 17:13:37 +01:00
gingerBill
f77709e67e Add intrinsics.type_convert_variants_to_pointers and reflect.get_union_as_ptr_variants 2022-09-08 16:52:51 +01:00
gingerBill
81e3b64ecd Add ODIN_BUILD_PROJECT_NAME and //+build-project-name
This allows for condition inclusion of files, similar to `+build` or `ODIN_BUILD`, but relies on the directory name of the project to be the same as specified

Example:

    odin build foo/bar/baz

    ODIN_BUILD_PROJECT_NAME == "baz"

    //+build_project_name baz
2022-09-08 16:35:25 +01:00
gingerBill
268fb22bca Use llvm.dbg.declare for procedure parameters rather than llvm.dbg.value 2022-09-07 23:47:33 +01:00
gingerBill
ab1741ab38 Add Windows 32-bit build system error 2022-09-07 12:27:15 +01:00
gingerBill
af76d26771 Simplify win32 resource file linking 2022-09-07 11:22:43 +01:00
gingerBill
d2097e9fdd Add inline debug generation for assembly target flag (#2028) 2022-09-07 11:17:33 +01:00
gingerBill
d325c36eb8 Fix procedure pointer cast 2022-09-07 11:14:59 +01:00
gingerBill
79b55d5e2b Merge branch 'master' of https://github.com/odin-lang/Odin 2022-09-07 11:09:32 +01:00
gingerBill
0c9aaed9f7 Fix #2029 Eumerated array of procs literal crashes the compiler with an llvm error 2022-09-07 11:09:22 +01:00
Phil
86b6d01242 fix polymorphic proc parameters error handling 2022-09-06 11:04:18 -07:00
gingerBill
35d622c131 Merge branch 'master' of https://github.com/odin-lang/Odin 2022-09-06 12:57:28 +01:00
gingerBill
4bdd2ff93c Make valgrind calls a no-op on non-supported platforms rather than print an error 2022-09-06 12:57:22 +01:00
Jeroen van Rijn
fc2cd3e1d5 Add help verb, e.g. odin help build. 2022-09-05 22:28:16 +02:00
Jeroen van Rijn
a5a9347308 Improve error message when you use -file as the verb. 2022-09-05 21:59:56 +02:00
Jeroen van Rijn
c7deff4d2e Merge pull request #2021 from Kelimion/refactor_odin_report
Refactor odin report
2022-09-05 18:13:44 +02:00
Jeroen van Rijn
590615ba52 [odin report] Improve macOS detection. 2022-09-05 18:06:34 +02:00
gingerBill
b1dafcfe6d Fix #1992 size_of a relative slice crashes the compiler 2022-09-05 16:40:57 +01:00
gingerBill
4998cf80c1 Fix #2017 mismatched types in binary matrix expression for flt * (mat * vec) 2022-09-05 16:35:56 +01:00
gingerBill
37e23133e9 Fix #2018 type assertion on untyped nil within a ternary if expression 2022-09-05 16:06:40 +01:00
gingerBill
91fd9c1ef2 Fix #2020 transmute from array to #simd code generation 2022-09-05 16:04:20 +01:00
Jeroen van Rijn
fb2cbe471b odin report: Add FreeBSD OS & RAM detection. 2022-09-05 15:00:29 +02:00
JasperGeer
17894add95 Remove redundant code 2022-09-04 16:37:40 -04:00
JasperGeer
23d93f6846 Remove unnecessary or 2022-09-04 16:17:29 -04:00
JasperGeer
2e3dd8dd0b Err on types passed as operands to ternary if expressions 2022-09-04 15:31:05 -04:00
Jeroen van Rijn
cac72a9423 Allow Odin to find itself if it's in PATH on OpenBSD, because reasons. 2022-09-04 19:01:32 +02:00
Jeroen van Rijn
4b2246ba9f Fix #1999
Tested on Windows and Linux.
2022-09-03 18:47:05 +02:00
gingerBill
c2809c2948 Improve basic escape analysis 2022-09-02 16:23:16 +01:00
gingerBill
3e3b9ae2df Fix #1994 Returning to err: Maybe(Error) raises compiler assert 2022-09-01 16:33:44 +01:00
gingerBill
902a6db0e1 Fix #2000 - allow #soa array iteration by pointer 2022-09-01 16:15:09 +01:00
gingerBill
19ae6122c7 Fix #2002 (allow array *= matrix) 2022-09-01 16:11:03 +01:00