Commit Graph

3849 Commits

Author SHA1 Message Date
finn
ec32967daa [check-type] fix faulty #no_nil variants error
- when checking the variants of a union type we will skip adding
  the variants if we have an unspecialized polymorphic, hence our
  union_type variants will be empty and have a count of 0

- so when checking if we violate the #no_nil error, if we are in the
  unspecialized polymorphic case and there exists at least one variant
  in the original variants then we should not raise this error

- test checks that we do not raise the error anymore, and that we still
  detect the #no_nil error in the described circumstances
2023-06-13 22:07:01 +02:00
gingerBill
581eebb197 Fix a race condition when produced anonymous procedure literals with -use-separate-modules 2023-06-13 13:14:59 +01:00
gingerBill
296674e18b Rename ODIN_DISALLOW_RTTI to ODIN_NO_RTTI; Remove dead command line flags 2023-06-12 14:53:05 +01:00
gingerBill
52a926dd90 Deprecate -disallow-rtti in favour of -no-rtti 2023-06-12 14:49:00 +01:00
gingerBill
2022a7615a Make all id suffixes use atomics where possible 2023-06-12 14:10:18 +01:00
gingerBill
dca0fae781 Improve lb_generate_anonymous_proc_lit (again) 2023-06-12 13:42:51 +01:00
gingerBill
ede9881458 Keep compilers happy 2023-06-12 12:54:36 +01:00
gingerBill
a7f8c78358 Change how "$anon" mangling works to use an atomic value instead 2023-06-12 12:52:17 +01:00
gingerBill
4c17e2e97e Merge pull request #2552 from jcmoyer/fix-2466
Use compound literal storage for ValueDecl lvals
2023-06-08 12:34:40 +01:00
gingerBill
7dc09ed450 Add ODIN_COMPILE_TIMESTAMP (unix timestamp in nanoseconds) 2023-06-07 15:49:12 +01:00
gingerBill
349641e95f Fix #2572 2023-06-07 13:08:15 +01:00
gingerBill
9941ec85d8 Fix #2578 (check for fallthrough) 2023-06-07 12:18:21 +01:00
gingerBill
ef944b903b "Fix" #2580 2023-06-07 12:13:20 +01:00
gingerBill
151396507e Merge pull request #1309 from Yawning/fix/freebsd-syscall
src: "Fix" the system call intrinsic for FreeBSD
2023-06-07 12:04:57 +01:00
gingerBill
7a1ab62987 Fix endianness for wasm64p32 2023-06-07 01:19:40 +01:00
gingerBill
295cfc905c Fix typo in wasm64p32 abi 2023-06-07 00:53:31 +01:00
gingerBill
204924927a Ignore non-variable parameters 2023-06-07 00:35:11 +01:00
gingerBill
f622a8393c Change ABI for wasm64p32 on slices and structs 2023-06-07 00:30:14 +01:00
gingerBill
2bc5e0ebd7 Fix non-constant compound literals of slices 2023-06-07 00:10:39 +01:00
gingerBill
ca6cef9a7d Fix wasm intrinsics; fix len for strings and slices 2023-06-06 23:11:42 +01:00
gingerBill
1c2a30d7e9 Fix constant slice initialization for wasm64p32 2023-06-06 22:51:51 +01:00
gingerBill
4a75a1e839 Merge branch 'master' into separate-int-word-sizes 2023-06-06 22:42:04 +01:00
gingerBill
356f66784f Fix @(default_calling_convention) check on wasm 2023-06-06 22:36:36 +01:00
gingerBill
24ed07b6d5 Add error requiring an explicit calling convention for foreign procedures 2023-06-06 11:12:14 +01:00
gingerBill
efb7fd919b Minor fix to internal using logic with LLVM causing a compiler bug 2023-06-06 10:58:36 +01:00
gingerBill
7915dde43c Merge pull request #2504 from jon-lipstate/attr_error
helpful error on custom-attrs
2023-05-31 14:08:33 +01:00
gingerBill
5376d32772 Parse leading comment above attribute for value declarations 2023-05-30 23:06:04 +01:00
gingerBill
2924e478ee Improve check_decl_attributes logic for is_runtime 2023-05-30 20:36:43 +01:00
gingerBill
9d29914304 Don't strip builtin attribute form AST 2023-05-30 20:26:22 +01:00
jon lipstate
b223bc0302 Merge branch 'odin-lang:master' into attr_error 2023-05-30 08:23:28 -07:00
gingerBill
837ba6c33b Minor change to #reverse for logic; add comments explaining it 2023-05-30 00:21:40 +01:00
gingerBill
3ab01dbc00 Fix type switch debug information on -o:none 2023-05-30 00:05:52 +01:00
gingerBill
e0530df98a Support #reverse for strings 2023-05-29 23:45:21 +01:00
gingerBill
6cbce9fdff Merge pull request #2563 from charles-l/master
WASM: Use BasicC ABI convention for arguments that have `proc "c"`
2023-05-29 23:33:58 +01:00
gingerBill
b848ae7abb Improve error message for #reverse on an interval 2023-05-29 23:27:42 +01:00
gingerBill
f07453d0ae Support #reverse on #soa arrays 2023-05-29 23:24:03 +01:00
charles
052051244f WASM: Use BasicC ABI convention for arguments that have a proc "c" annotation 2023-05-29 18:20:25 -04:00
gingerBill
97490c6445 Basic support for #reverse for in on normal arrays 2023-05-29 23:17:06 +01:00
gingerBill
1247d36a12 Fix #2562 caused by inlining of procedure call 2023-05-29 22:57:42 +01:00
gingerBill
f3a463000d Fix #2561 - ARM64 ABI bug for homogenous structs with more than 4 elements 2023-05-29 22:50:28 +01:00
gingerBill
c38842ecb2 Merge pull request #2535 from jasonKercher/fix2515
Fix #2515 - Implement backward shift on `map` on insert and reseed hashes on resize
2023-05-29 22:41:46 +01:00
gingerBill
d2f62730bc Fix #2560 2023-05-29 14:55:27 +01:00
gingerBill
3a61350f4b Add debug messages to docs_writer.cpp 2023-05-22 21:48:32 +01:00
gingerBill
bdbbaf6c88 Disable stable_type_cache for the time being 2023-05-22 21:34:20 +01:00
gingerBill
38b64dc5df Improve doc_writer.cpp performance 2023-05-22 20:48:13 +01:00
gingerBill
248f14a1ef Correct entity flag generation 2023-05-22 15:29:01 +01:00
gingerBill
b76fc58543 Inline are_types_identical_unique_tuples to improve odin_doc_type performance 2023-05-22 15:23:24 +01:00
gingerBill
8bf32ac697 Minor change to handling of propagation of errors with --- as a value 2023-05-22 12:53:29 +01:00
gingerBill
540f724b1f Fix --- on variable declarations 2023-05-22 12:42:02 +01:00
gingerBill
d5a8f2298e Restrict --- to variable declarations only 2023-05-22 12:37:26 +01:00