Commit Graph

402 Commits

Author SHA1 Message Date
Christoffer Lerno
29a41560de Implement use of strlit array access. 2021-08-15 22:56:08 +02:00
Christoffer Lerno
0a53c0c3a5 Bug where constant "kind" was not propagated through constant folding. 2021-08-11 20:29:17 +02:00
Christoffer Lerno
3a1f417ea5 Updated try tests. 2021-08-11 19:17:45 +02:00
Christoffer Lerno
da76777ee4 Fixes to aarch64 float struct return. Missing byval and align on calls. This *breaks* try-catch. 2021-08-11 19:17:45 +02:00
Christoffer Lerno
afeb555e2f Improved support for vectors that allows correct usage in C ABI.
To free keywords, half -> float16, i128 -> int128, u128 -> uint128, quad -> float128.
2021-08-10 22:45:53 +02:00
Christoffer Lerno
991f24d06a Added chained unwrap test and fixed the same. 2021-08-03 19:57:44 +02:00
Christoffer Lerno
c12cba67a8 Fix of try(...) { ... } and failable state on function call. 2021-08-03 19:57:44 +02:00
Christoffer Lerno
490dd65664 Add attributes to call site. @inline, @noinline to calls #250 2021-08-03 12:02:36 +02:00
Christoffer Lerno
78425ff5f2 Initial work on foreach overloading. Fixes a bug in indirect return values. Unifies call analysis. 2021-08-02 22:55:11 +02:00
Christoffer Lerno
2246b641b1 Fix stack overwrite. 2021-07-30 00:18:30 +02:00
Christoffer Lerno
ec612eea67 Added some explicit casts. Added sret at call site. 2021-07-29 16:42:20 +02:00
Christoffer Lerno
efe4f8c745 Coerce lowering for the C ABI updated. Updated aarch64 fixes. 2021-07-29 03:16:07 +02:00
Christoffer Lerno
d26986afeb Handle possible unsigned char by default. 2021-07-28 17:27:26 +02:00
Christoffer Lerno
ce6e59483f Unified function and macro call analysis. 2021-07-28 17:20:19 +02:00
Christoffer Lerno
9f42ddb68d Fix foreach body copy. Moved deref / addr into special functions. Cleaned up access. Remove .sizeof .alignof .qnameof .nameof, create $qnameof $nameof 2021-07-26 09:30:35 +02:00
C34A
2815a6d02e fixed stat() call in file_add_wildcard_files() 2021-07-24 22:41:40 +02:00
Christoffer Lerno
c4627eb9d2 Removed "deprecated" as attribute. 2021-07-24 15:56:38 +02:00
Christoffer Lerno
b8cbeaff06 Recursive entry into sub paths fixed. 2021-07-24 13:56:02 +02:00
Christoffer Lerno
f14343f052 Fix :( 2021-07-22 19:01:17 +02:00
Christoffer Lerno
c4aa366592 Use heuristic to determine the type to convert to for compile time types. Added parsing for generic 2021-07-22 18:45:39 +02:00
Christoffer Lerno
d5f5d59a37 Updated readme. 2021-07-21 19:33:08 +02:00
Christoffer Lerno
198e3c369c Extension methods added. Some initial work on virtual. 2021-07-21 19:28:02 +02:00
Christoffer Lerno
46e39f883c Assigning to $Type now works. 2021-07-20 23:36:53 +02:00
Christoffer Lerno
c149f14a1f Added iro grammar. 2021-07-20 15:01:04 +02:00
Christoffer Lerno
f86dea12cc Updated formatting in README 2021-07-19 21:45:29 +02:00
Christoffer Lerno
5c0470023e Updated info about vkQuake. 2021-07-19 21:43:31 +02:00
Christoffer Lerno
8568b9b079 Fix right -> left associativity for assignment. 2021-07-19 17:31:13 +02:00
Christoffer Lerno
28a0dec343 Fixes: Extname works on global variables. Bug with boolean in ternary in some cases. Global declarations would not parse attributes. 2021-07-19 17:10:13 +02:00
Christoffer Lerno
89d831fc18 Remove debug printout unless explicitly required. Add compile-only option. 2021-07-19 14:10:31 +02:00
Christoffer Lerno
8ba2994caa Required parens code moved to semantic analysis. Make || and && have different levels since parens cannot be enforced. 2021-07-18 20:26:19 +02:00
Christoffer Lerno
ac2fd2dd71 Added tests for type methods on non struct/unions. 2021-07-18 19:00:16 +02:00
Christoffer Lerno
2778adbcb9 Fix bug #208 2021-07-18 18:53:00 +02:00
Christoffer Lerno
917f00bb7a Support $typeof, removing the old typeof 2021-07-18 18:36:19 +02:00
Christoffer Lerno
f60c1dd4a4 Fixes to the nano conf for errors. 2021-07-18 14:13:21 +02:00
Christoffer Lerno
f64c35214e Change error -> anyerr / errtype 2021-07-18 14:11:39 +02:00
Christoffer Lerno
e6b9efe850 Fixing parse of error type. 2021-07-18 13:44:16 +02:00
Christoffer Lerno
069dbe8238 Make it possible for globals and static variables to have failables. 2021-07-18 12:39:08 +02:00
Christoffer Lerno
26d976d0bd Fix Foo! syntactic sugar. 2021-07-17 20:59:29 +02:00
Christoffer Lerno
d578b249c2 Updated attributes and some cleaning of ABI info. 2021-07-17 18:09:31 +02:00
Christoffer Lerno
5fc937897a Check private module parsing. 2021-07-17 18:09:31 +02:00
Christoffer Lerno
1af27136fa Improved error messages on incorrect module name. Issue #209 2021-07-17 15:20:13 +02:00
kvk1920
429fb647fb CI testing (#234)
* run test in CI
* make CI run
* fix some issues with paths on Windows
* avoid using float80
* add mingw64 ci
* fix path issue in tests
* add lld for mingw64 CI
2021-07-17 10:30:19 +02:00
Christoffer Lerno
ebbe226a03 Added codestyle document. 2021-07-17 00:00:29 +02:00
Christoffer Lerno
b091cdec78 Change nan / infinity. 2021-07-16 22:46:40 +02:00
Christoffer Lerno
12ef7b2e66 Pick double / long double depending on availability. 2021-07-16 20:39:49 +02:00
Christoffer Lerno
306ce5b39b Pick double / long double depending on availability. 2021-07-16 20:36:46 +02:00
Christoffer Lerno
67d09cf7c6 Pick double / long double depending on availability. 2021-07-16 20:20:19 +02:00
Christoffer Lerno
46a4f8a7ae Added constants describing floating point types. 2021-07-16 17:48:31 +02:00
Christoffer Lerno
39ec9d9436 Pass NAN/INF as string to LLVM. 2021-07-16 16:41:47 +02:00
Christoffer Lerno
caecbebd0f Update float conversion into LLVM. 2021-07-16 15:21:56 +02:00