Commit Graph

3603 Commits

Author SHA1 Message Date
gingerBill
b01c2e1017 Disallow slicing of constant values 2021-05-15 16:40:40 +01:00
gingerBill
63b54ce7c6 Add minor ignoring hint on type assertions to get better code generation with no optimizations enabled 2021-05-13 12:48:12 +01:00
gingerBill
b8a35c658c Remove incl/excl usage from demo 2021-05-13 12:06:35 +01:00
gingerBill
465b6139d5 Temporarily fix syscall in Linux and Freebsd (eventually to be replaced with a proper implementation) 2021-05-13 12:05:23 +01:00
gingerBill
b37d344eb2 Add intrinsics.type_is_variant_of 2021-05-13 12:04:51 +01:00
gingerBill
d4ee1a9e19 Correct default procedure parameter logic 2021-05-13 10:07:28 +01:00
gingerBill
be12f12c3c Fix #814 2021-05-13 00:57:10 +01:00
gingerBill
2e5f57d8a1 Fix #741 2021-05-13 00:44:33 +01:00
Mikkel Hjortshøj
d5c3f99655 Update feature_request.md 2021-05-13 01:26:15 +02:00
Mikkel Hjortshøj
083e9e2053 Update feature_request.md 2021-05-13 01:25:37 +02:00
gingerBill
c6c5af527b Fix #746 2021-05-12 23:43:16 +01:00
gingerBill
5420cc083d Implement #807 2021-05-12 23:26:21 +01:00
gingerBill
c81f7b31c6 Add explicit numbers to enum AddressingMode 2021-05-12 23:22:43 +01:00
gingerBill
fdd0c726bc Improve error message to "fix" #640 2021-05-12 23:12:20 +01:00
gingerBill
da9cabc334 Fix #682 2021-05-12 23:02:57 +01:00
gingerBill
d962cfdc6b Fix #713 2021-05-12 22:38:37 +01:00
gingerBill
dfb8143149 Fix #651 2021-05-12 22:23:43 +01:00
gingerBill
d2fcbf0e1d Fix #948 2021-05-12 15:00:19 +01:00
gingerBill
e08f39ec28 Remove unneeded assert 2021-05-11 16:20:50 +01:00
gingerBill
d353f97f91 Add byval with align, sret attributes for SysV 2021-05-11 13:30:27 +01:00
gingerBill
8144e82c6c Fix docs for -lld 2021-05-11 13:13:34 +01:00
gingerBill
d0f7cf74e9 Add llvm-config version 11 check for Darwin in Makefile 2021-05-11 12:31:56 +01:00
gingerBill
e1c2528d87 Remove warning on \*nix 2021-05-11 12:29:27 +01:00
gingerBill
eac61fb536 Remove LLVMAddLowerConstantIntrinsicsPass 2021-05-11 12:17:48 +01:00
gingerBill
20f7e61363 Revert LLVM-C.lib 2021-05-11 12:11:59 +01:00
gingerBill
8bb6651dda Remove test call for LLVM 2021-05-11 12:08:09 +01:00
gingerBill
8ff80dec58 Minor change (in preparation for something else) to opt passes 2021-05-11 12:00:55 +01:00
gingerBill
f31b09212a Improve SysV ABI 2021-05-11 12:00:27 +01:00
gingerBill
073bd3f6c9 Update LLVM-C.lib (since it was missing many required definitions missing from the official one that LLVM supplied) 2021-05-11 10:55:55 +01:00
gingerBill
9a4d942b0b Fix debug information for array types by setting the DISubrange 2021-05-10 21:29:25 +01:00
gingerBill
ff6fdc7812 Correct SysV ABI for -> (f32, bool) 2021-05-10 21:16:26 +01:00
gingerBill
c85c5ec38c Merge branch 'master' of https://github.com/odin-lang/Odin 2021-05-07 13:18:07 +01:00
gingerBill
d70b5475eb Minor code clean up 2021-05-07 13:18:01 +01:00
gingerBill
42138d1ad5 Merge pull request #947 from Kelimion/deprecated
Mark mem.slice_ptr_to_bytes as deprecated.
2021-05-07 10:59:08 +01:00
gingerBill
47f97b8f89 Remove unused hint 2021-05-06 14:09:50 +01:00
gingerBill
902be0d09c Improve type inference system to allow &{} alongside &T{} in some cases 2021-05-06 14:06:22 +01:00
gingerBill
502ad0c10b sync2.Auto_Reset_Event; Make atomic operations names clearer 2021-05-06 14:00:01 +01:00
gingerBill
27f5aadd5a Merge branch 'master' of https://github.com/odin-lang/Odin 2021-05-06 13:59:14 +01:00
gingerBill
da7a9a3584 Improve type inference rules for implicit selector expressions
New improvements:
`(.A == x)`
`a_union_containing_many_enums = .A;`
2021-05-06 13:59:05 +01:00
Jeroen van Rijn
03862d1f48 Mark mem.slice_ptr_to_bytes as deprecated.
Use byte_slice instead.

We can't make it an alias *and* mark it as deprecated, regrettably:

```odin
byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte {
    return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)};
}
@(deprecated="use byte_slice")
slice_ptr_to_bytes :: byte_slice;

"mem.odin(145:1) Constant alias declarations cannot have attributes"
```
2021-05-06 13:23:17 +02:00
Jeroen van Rijn
15ce8b0454 Merge pull request #946 from Kelimion/virtual_allocator
Fix typo in core:mem alloc() comment.
2021-05-06 11:33:08 +02:00
Jeroen van Rijn
4f51d74fc2 Fix typo in core:mem alloc() comment. 2021-05-06 11:25:41 +02:00
gingerBill
b6a1ec0229 Remove debug code 2021-05-05 23:34:53 +01:00
gingerBill
60685369b9 Fix typo 2021-05-05 23:34:39 +01:00
gingerBill
0f2a9e6143 Fix LLVM store point for nested types containing procedures (e.g. ^^proc()) 2021-05-05 23:00:12 +01:00
gingerBill
278de3a92f Unify AstTernaryExpr with AstTernaryIfExpr
Allow for both syntaxes `x if cond else y` and `cond ? x : y`
Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
2021-05-05 15:22:54 +01:00
gingerBill
abdf54800e Improve ternary expression logic within parametric polymorphic parameter assignments 2021-05-05 15:14:39 +01:00
gingerBill
579b317be8 Mark external thread local globals 2021-05-05 11:47:47 +01:00
gingerBill
08360e2337 Minor cleanup 2021-05-05 10:56:19 +01:00
gingerBill
f11f84964d Merge branch 'master' of https://github.com/odin-lang/Odin 2021-05-04 23:41:45 +01:00