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
7a045bd957
Merge pull request #877 from Kelimion/datetime
...
Add core:datetime_to_time
2021-03-24 16:59:19 +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
Jeroen van Rijn
06c5a7fb3e
Correct overflowed months.
2021-03-23 18:49:50 +01:00
Jeroen van Rijn
781f784375
Add core:datetime_to_time
...
datetime_to_time takes separate parameters for date and time values and returns a time.Time and an `ok` bool.
If the values are out of range, they're considered modulo and ok will be set to false.
2021-03-23 18:41:40 +01: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
2b806f7463
Merge pull request #875 from atkurtul/master
...
Run an early memcpy pass regardless of the opt flag and return large structs by pointer on linux
2021-03-19 11:07:12 +00:00
atkurtul
6de0b68928
Merge pull request #2 from atkurtul/main
...
early memcpyopt
2021-03-19 10:26:10 +03:00
atkurtul
bb6e6fb4ef
Merge pull request #1 from atkurtul/llvm
...
return by pointer on linux
2021-03-19 07:30:18 +03:00
atil
5f5dfdc00e
return by pointer on linux
2021-03-19 07:28:27 +03:00
Atil Kurtulmus
88b8052532
fix windows
2021-03-19 07:23:17 +03:00
atil
2c0ddfb5db
fixtypo
2021-03-19 09:57:38 +03:00
atil
2f4902c9b9
fixtypo
2021-03-19 09:54:28 +03:00
atil
d28f6144a4
early memcpyopt
2021-03-19 09:52:53 +03: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
453b756edc
Merge pull request #872 from Kelimion/fix-cubic
...
Fix typo in cubic().
2021-03-16 15:36:34 +00:00