gingerBill
|
0007ac63ed
|
Correct #c_vararg behaviour on -llvm-api
|
2021-03-25 20:23:43 +00:00 |
|
gingerBill
|
7c951cbf0a
|
Add SOA struct len/cap/allocator fields for the debug symbols
|
2021-03-24 23:12:54 +00:00 |
|
gingerBill
|
2d0e2625ac
|
Ensure pointers are of the same type in LLVM ICmp
|
2021-03-24 23:01:48 +00:00 |
|
gingerBill
|
1aecd7f5ff
|
Add support for soa slice reference iteration
|
2021-03-24 22:39:29 +00:00 |
|
gingerBill
|
5faf859a56
|
Support using on intermediate soa field value from a for-in statement
|
2021-03-24 22:34:55 +00:00 |
|
gingerBill
|
7028797d53
|
Implement soa_unzip
|
2021-03-24 19:29:25 +00:00 |
|
gingerBill
|
6c9d3715d8
|
Add type hinting to soa_zip
|
2021-03-24 18:08:34 +00:00 |
|
gingerBill
|
989a03dc77
|
soa_zip (-llvm-api only): creates an #soa[]struct from passed slices
x := []i32{1, 3, 9};
y := []f32{2, 4, 16};
z := []b32{true, false, true};
s_anonymous := soa_zip(x, y, z);
assert(s_anonymous[0]._1 == 2);
s_named := soa_zip(a=x, b=y, c=z);
assert(s_anonymous[0].b == 2);
|
2021-03-24 17:33:05 +00:00 |
|
gingerBill
|
a5329ae48c
|
Add better package declaration specific error message (#878)
|
2021-03-24 14:34:30 +00:00 |
|
gingerBill
|
2ec3326653
|
Support #soa array iteration in a for in loop for -llvm-api backend only
|
2021-03-24 14:31:44 +00:00 |
|
gingerBill
|
bec42e8dd3
|
Improve core:odin/ast ast.Range_Stmt to use generic number of vals rather than the fixed two to aid with parsing errors
|
2021-03-24 12:34:06 +00:00 |
|
gingerBill
|
d969d0b264
|
Make for in logic a bit more generic
|
2021-03-24 12:31:05 +00:00 |
|
gingerBill
|
0e3ecc350a
|
Make the parser support as many identifiers on the LHS in for in loops to improve error messages
|
2021-03-24 12:11:00 +00:00 |
|
gingerBill
|
295c1550a8
|
Support using variables in debug information
|
2021-03-24 10:57:00 +00:00 |
|
gingerBill
|
fc1a352285
|
For bit_set, allow + and - to be aliases for | and &~, respectively
|
2021-03-23 23:34:01 +00:00 |
|
gingerBill
|
082381284c
|
Remove dead code
|
2021-03-23 23:23:40 +00:00 |
|
gingerBill
|
ccd078620b
|
Improve error message in parser
|
2021-03-23 23:05:00 +00:00 |
|
gingerBill
|
08f7d3edbe
|
Allow $ in polymorphic record parameter fields (but disallow mixing)
|
2021-03-23 22:59:10 +00:00 |
|
gingerBill
|
c62980eaea
|
Minor improvement to error message about assigning a type to a variable with no inference
|
2021-03-23 22:33:32 +00:00 |
|
gingerBill
|
d88d6a1fdd
|
bit_set support in debug symbols by treating them like a bit field of 1 bit booleans
|
2021-03-23 22:09:16 +00:00 |
|
gingerBill
|
f1e13bdddb
|
Prefix named types with package name in debug types
|
2021-03-23 20:45:39 +00:00 |
|
gingerBill
|
331167e91f
|
Improve debug type names for composite types (arrays, map, struct, union)
|
2021-03-23 20:41:49 +00:00 |
|
gingerBill
|
e229882fde
|
Clean up some debug type code
|
2021-03-23 19:33:22 +00:00 |
|
gingerBill
|
300f988905
|
Add global variables to -llvm-api debug information
|
2021-03-23 18:34:20 +00:00 |
|
gingerBill
|
7f6a43f0af
|
Move LLVM optimization procedures to a separate file to aid with organization
|
2021-03-23 18:24:49 +00:00 |
|
gingerBill
|
ccd91aee5c
|
Fix debug information for typeid on -llvm-api
|
2021-03-22 16:14:58 +00:00 |
|
gingerBill
|
bf46a3f1d3
|
Correct debug info for basic composite types (e.g. string, any)
|
2021-03-22 15:36:18 +00:00 |
|
gingerBill
|
8ab1b32fe1
|
Add local debug variable support for -llvm-api
|
2021-03-22 14:51:19 +00:00 |
|
gingerBill
|
0355908af8
|
Start work on very basic LLVM debug type information
|
2021-03-22 13:09:23 +00:00 |
|
gingerBill
|
fd7d70954e
|
Begin integrating work from branch llvm-debug-symbols
|
2021-03-20 13:10:53 +00:00 |
|
gingerBill
|
cb0bd80f50
|
Fix LLVMConstArray usage
|
2021-03-19 16:59:46 +00:00 |
|
gingerBill
|
5a67e6ecbd
|
Fix LLVM asserts
|
2021-03-19 16:53:22 +00:00 |
|
gingerBill
|
c8a823a387
|
Add ExternC.h
|
2021-03-19 15:49:07 +00:00 |
|
gingerBill
|
178e891c78
|
Fix some LLVM asserts by using LLVMConstNamedStruct everywhere
|
2021-03-19 15:47:10 +00:00 |
|
gingerBill
|
bda9eb7348
|
Update llvm-c headers for Version 11.0.1
|
2021-03-19 15:46:33 +00:00 |
|
gingerBill
|
3337412228
|
split*_iterator procedures for package bytes and strings
|
2021-03-18 13:26:33 +00:00 |
|
gingerBill
|
e3f9d99a3b
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-03-18 13:25:47 +00:00 |
|
gingerBill
|
359ae29d98
|
Minor fixes
|
2021-03-18 13:25:41 +00:00 |
|
gingerBill
|
04e0cacd30
|
Update package core:math/linalg to support matrix3 euler angle operations
|
2021-03-16 12:14:54 +00:00 |
|
gingerBill
|
b94ab4dc05
|
Make check_single_global_entity use create_checker_context
|
2021-03-15 14:05:38 +00:00 |
|
gingerBill
|
f5142aaec4
|
Change from test_* prefix to @(test) attribute for odin test
|
2021-03-14 18:43:21 +00:00 |
|
gingerBill
|
db0ac2ba98
|
Add "NO TESTS RAN" message to testing.runner if no tests were ran
|
2021-03-14 18:17:00 +00:00 |
|
gingerBill
|
468ad4837b
|
Add pkg field to testing.Internal_Test
|
2021-03-14 18:15:08 +00:00 |
|
gingerBill
|
2aa588209e
|
odin test to work with the new core:testing package
|
2021-03-14 18:01:31 +00:00 |
|
gingerBill
|
10f91a0d3f
|
Make base32 and base64 adhere to -strict-style
|
2021-03-14 12:54:28 +00:00 |
|
gingerBill
|
8cc4cba06c
|
Add support for backslash \ to consume a newline
|
2021-03-14 12:53:57 +00:00 |
|
gingerBill
|
8f6439fa6b
|
Simplify expect_semicolon_newline_error rule
|
2021-03-13 23:17:56 +00:00 |
|
gingerBill
|
81efd2dc64
|
Remove && false from test code
|
2021-03-13 21:39:33 +00:00 |
|
gingerBill
|
b5c0c68615
|
Add -strict-style flag: Enforces code style stricter whilst parsing, requiring such things as trailing commas
|
2021-03-13 21:20:46 +00:00 |
|
gingerBill
|
a60d22fefd
|
Make trailing comma usage consistent
|
2021-03-13 21:18:07 +00:00 |
|
gingerBill
|
8123ff83a3
|
Fix is_diverging_stmt for invalid statements
|
2021-03-13 15:01:23 +00:00 |
|
gingerBill
|
4e2a2ac80a
|
Fix formatting of code
|
2021-03-10 10:53:30 +00:00 |
|
gingerBill
|
84bb349900
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-03-09 11:40:42 +00:00 |
|
gingerBill
|
3ff7bded64
|
Add intrinsics.volatile_store and intrinsics.volatile_load
|
2021-03-09 11:40:36 +00:00 |
|
gingerBill
|
083cec6c88
|
Remove dead code
|
2021-03-06 16:11:54 +00:00 |
|
gingerBill
|
45cd5c0b1c
|
Remove test code
|
2021-03-06 16:11:39 +00:00 |
|
gingerBill
|
572b9d1b3f
|
Fix context bug with deferred_* attributes which caused a new context to be created every time
|
2021-03-06 16:11:01 +00:00 |
|
gingerBill
|
0ae1b96182
|
Fix ir_print.cpp i32 line/column values
|
2021-03-05 15:42:59 +00:00 |
|
gingerBill
|
1988856eed
|
Minimize the size of runtime.Source_Code_Location to use i32 instead of int
|
2021-03-05 12:56:36 +00:00 |
|
gingerBill
|
15dbc99cb9
|
Minimize TokenPos size by using i32 for line/column/offset and file_id instead of String
To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
|
2021-03-04 16:45:30 +00:00 |
|
gingerBill
|
17eb0ce525
|
Minor update to math/linalg
|
2021-03-03 22:18:18 +00:00 |
|
gingerBill
|
619a977856
|
Improve math/linalg to support both f32 and f64 basic procedures for the specific*.odin files
|
2021-03-03 16:44:41 +00:00 |
|
gingerBill
|
b727b6438b
|
Minimize unneeded casts
|
2021-03-03 14:31:17 +00:00 |
|
gingerBill
|
75f127af7c
|
Add -vet-extra (checks for unneeded casts and transmutes)
|
2021-03-03 14:17:48 +00:00 |
|
gingerBill
|
c2794b62a9
|
Clean up logic for << and >> behaviour
|
2021-03-02 16:48:39 +00:00 |
|
gingerBill
|
4e63ab5edc
|
Re-enable "LLVM Function Pass"
|
2021-03-02 13:36:57 +00:00 |
|
gingerBill
|
2a1bec9fbb
|
Clean up lb_end_procedure_body logic
|
2021-03-02 00:43:25 +00:00 |
|
gingerBill
|
6faf024ab4
|
Remove unneeded return value from incl and excl
|
2021-03-02 00:40:40 +00:00 |
|
gingerBill
|
35edf45514
|
Add make_soa and delete_soa; Reorganize soa procedures into a separate file
|
2021-03-01 18:07:09 +00:00 |
|
gingerBill
|
667aa3671e
|
Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)
|
2021-03-01 17:54:49 +00:00 |
|
gingerBill
|
b428e9ee14
|
Improve lb_end_procedure_body logic
|
2021-03-01 15:14:21 +00:00 |
|
gingerBill
|
868117cddd
|
Remove hack in lb_addr_store
|
2021-03-01 12:59:17 +00:00 |
|
gingerBill
|
9e0210f7f6
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-03-01 12:15:38 +00:00 |
|
gingerBill
|
302742689b
|
Patch win64 ABI problem caused by a bug in LLVM for 128 bit integers
|
2021-03-01 12:15:28 +00:00 |
|
gingerBill
|
6ffb4d2683
|
Minor changes to function pass manager in llvm_backend.cpp
|
2021-02-27 17:47:57 +00:00 |
|
gingerBill
|
4f298a5314
|
Fix LLVM -opt:2 bug for initializing global variables
|
2021-02-27 15:54:22 +00:00 |
|
gingerBill
|
a2557142cc
|
Update package os for package path/filepath support on macOS
|
2021-02-27 11:30:43 +00:00 |
|
gingerBill
|
fa09640e7e
|
Fix slice.concatenate
|
2021-02-27 10:58:10 +00:00 |
|
gingerBill
|
1f9a2df42b
|
Fix crash when a forced dependency doesn't exist
|
2021-02-27 10:57:44 +00:00 |
|
gingerBill
|
ee04dde7c2
|
HACK check_unchecked_bodies further!
|
2021-02-26 15:34:12 +00:00 |
|
gingerBill
|
88599eeac1
|
Update build-m1.sh to remove unneeded macro define
|
2021-02-26 15:29:41 +00:00 |
|
gingerBill
|
54194af71c
|
Fix patch (yeah... I know)
|
2021-02-26 15:29:10 +00:00 |
|
gingerBill
|
575c7ff031
|
Patch issue with minimum dependency system and how it interacts with para poly procedures
|
2021-02-26 15:09:32 +00:00 |
|
gingerBill
|
ac155d9036
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-02-26 10:56:40 +00:00 |
|
gingerBill
|
d772710ae7
|
Add message to assert in ir_build_expr_internal
|
2021-02-26 10:56:32 +00:00 |
|
gingerBill
|
d0ac9f605d
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-02-25 13:17:07 +00:00 |
|
gingerBill
|
3eae69effc
|
Make USE_NEW_LLVM_ABI_SYSTEM the actual behaviour and remove the previous approach
|
2021-02-25 13:17:00 +00:00 |
|
gingerBill
|
84deee75cc
|
Make lb_create_enum_attribute ignore certain attributes (they are not properly supported by the actual LLVM C API)
|
2021-02-25 11:39:46 +00:00 |
|
gingerBill
|
82275082ff
|
Add #force_inline parsing directly to expression statements
|
2021-02-25 10:01:12 +00:00 |
|
gingerBill
|
fc48e9638a
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-02-25 09:55:56 +00:00 |
|
gingerBill
|
4a69bfada1
|
Remove #force_inline for and only have #unroll for
|
2021-02-25 09:55:48 +00:00 |
|
gingerBill
|
4d13a43590
|
Enforce -llvm-api on Mac M1
|
2021-02-25 00:39:44 +00:00 |
|
gingerBill
|
b2fdb53e26
|
fix timings.cpp for M1
|
2021-02-25 00:39:26 +00:00 |
|
gingerBill
|
58422711d1
|
Remove sret attribute in llvm_abi.cpp
|
2021-02-25 00:22:47 +00:00 |
|
gingerBill
|
ba817d153c
|
Get compiling on Mac Mini M1
|
2021-02-24 23:21:34 +00:00 |
|
gingerBill
|
2d88c6c6a5
|
Begin work on aarch64 ABI for -llvm-api
|
2021-02-24 16:49:19 +00:00 |
|
gingerBill
|
a6fdb5eb5e
|
Add -DUSE_NEW_LLVM_ABI_SYSTEM by default to Windows build for -llvm-api
|
2021-02-24 16:00:05 +00:00 |
|
gingerBill
|
425bb0579e
|
Default to -microarch:generic
|
2021-02-24 15:59:31 +00:00 |
|
gingerBill
|
8f9111e552
|
Build tag to make all declarations within a file private to the package //+private
|
2021-02-23 20:40:48 +00:00 |
|
gingerBill
|
731e6ca3a6
|
Merge branch 'master' of https://github.com/odin-lang/Odin
|
2021-02-23 20:40:09 +00:00 |
|