Christoffer Lerno
02374c6aab
Generic modules also accepts integers and booleans.
2022-10-23 19:16:38 +02:00
Christoffer Lerno
ede224662c
Fix of broken bitstruct init #641 . Version bump.
2022-10-21 11:45:34 +02:00
Christoffer Lerno
bd0e8f1ef1
Allow imports anywhere in the module outside of ct statements.
2022-10-20 23:54:36 +02:00
Christoffer Lerno
e6a5f98606
float.min will now give -float.max
2022-10-20 21:54:40 +02:00
Christoffer Lerno
d13b7ac96a
Enable support for int128 across all platforms.
2022-10-20 18:03:02 +02:00
Christoffer Lerno
03fe2b575d
Chain optionals with optionals using ??. Version bump.
2022-10-20 12:11:24 +02:00
Christoffer Lerno
f86ef8a743
Remove tscoped. Replace str_index_of with "starts_with". Updated copy_zstring/copy. Fixed utf conversion functions. Initial work on "Path". Lexer fix on \\. ABI fix using distinct types. (bool)"" now works correctly. Bug in $if with switches/loops as the first statement fixed. Version bump.
2022-10-20 10:55:14 +02:00
Christoffer Lerno
0adb15139f
Fix bug in implicit fmul.
2022-10-18 14:02:20 +02:00
Christoffer Lerno
76ee384a4c
Fix of ternary / elvis where legs are bool or optional.
2022-10-18 14:02:20 +02:00
Christoffer Lerno
b1ed066e55
Fix coerce store / load to properly rely on alloc size like Clang does it. Version bump.
2022-10-15 22:12:52 +02:00
Christoffer Lerno
160659c4e3
Optimize sret / byval. Fixes to types and failables.
2022-10-15 02:45:19 +02:00
Dmitry Atamanov
dfe3128b16
Add --benchmarking and --testing switches. ( #591 )
...
Added `--benchmarking` and `--testing` switches. Update env.c3
2022-10-13 14:25:45 +02:00
Christoffer Lerno
effec3a1f6
Fix of bug where missing return wasn't detected.
2022-10-13 13:34:54 +02:00
Christoffer Lerno
5d9a7ab0a6
Extend "var" to allow type inference on variables.
2022-10-13 09:37:52 +02:00
Christoffer Lerno
5e184f04e7
List now has correct alignment and takes memory allocator initializer. Bugfix of aligned allocations.
2022-10-12 22:35:36 +02:00
Christoffer Lerno
9424bba49f
Version bump. More generous wildcard length matching and conversions.
2022-10-12 11:46:58 +02:00
Christoffer Lerno
feba7b8ed2
Rename muladd and fmuladd and insert it at codegen.
2022-10-10 11:14:57 +02:00
Dmitry Atamanov
3624c2a72c
Added $$muladd built-in.
2022-10-10 11:14:57 +02:00
Christoffer Lerno
d5f965e137
Fix test.
2022-10-08 22:10:56 +02:00
Dmitry Atamanov
7fa129932d
Added $$memmove built-in.
2022-10-08 21:41:11 +02:00
Christoffer Lerno
73ac0b8ea0
Fixed incorrect test.
2022-10-08 14:55:36 +02:00
Christoffer Lerno
407ed5a63d
Fix vector init and float promotion. Fix of 1.0f.
2022-10-08 14:30:17 +02:00
Christoffer Lerno
fa064276bc
Disallow $offsetof / $alignof on types. Version bump.
2022-10-08 12:41:40 +02:00
Christoffer Lerno
bb20a38cdb
Updated membersof. "Type.kind" renamed "Type.kindof"
2022-10-07 14:41:10 +02:00
Christoffer Lerno
f010f6a926
Add qnameof, nameof, extnameof to types.
2022-10-06 19:31:52 +02:00
Christoffer Lerno
ec1a5d97c9
Support for memberof/returns/params.
2022-10-06 17:18:16 +02:00
Christoffer Lerno
a281dbe812
Added $$TIME, $$DATE, $$FUNCTION. Builtin defines listed.
2022-10-06 11:57:59 +02:00
Dmitry Atamanov
1d39fc475f
Added max and min macros to builtin_comparison module.
2022-10-05 23:13:38 +02:00
Dmitry Atamanov
f5a1894876
Add std::ascii module. ( #611 )
...
Added `std::ascii` module.
2022-10-05 23:11:41 +02:00
Christoffer Lerno
db06f99445
"[]=" now works as overload. Improved eval resolution. Added $$FUNCPTR
2022-10-05 22:58:28 +02:00
Christoffer Lerno
05d4ec55f6
Fix of $$FUNC in methods.
2022-10-05 10:17:11 +02:00
Christoffer Lerno
eb86b83bd7
Prevent ct_eval from returning an rvalue.
2022-10-04 22:41:07 +02:00
Christoffer Lerno
4783946476
Version bump. Updated printf using "Formatter". Fix to initializers.
2022-10-03 13:06:57 +02:00
Christoffer Lerno
9f7ed00f04
Fixes to function pointer conversion.
2022-10-02 00:22:21 +02:00
Christoffer Lerno
5029dc703e
Updated error message.
2022-09-30 08:44:28 +02:00
Christoffer Lerno
258a6ba97a
Bug fixes, addition of hash map implementation. ( #605 )
...
* Simple hash map. Fix of bug preventing cast of typeid. Allow declarations in global "$checks". Fix to non-constant default args. Correctly duplicate macro contracts. Allow typeid to add methods. Fix printing of subarrays. Fix bug when printing a function with a module. Fix bug with initializer and creating local variables. Add the compile-only option to the help.
2022-09-29 20:19:31 +02:00
Christoffer Lerno
e1b5b0b60c
Implement static finalize / initialize. Version bump.
2022-09-28 17:18:20 +02:00
Christoffer Lerno
379f9e60bf
More checks for $switch
2022-09-25 17:17:56 +02:00
Christoffer Lerno
a4d4c27ca6
General reorganization, set any empty expression statement to nop. Version bump.
2022-09-24 21:22:29 +02:00
Christoffer Lerno
81bea9bad6
Updated untyped lists.
2022-09-24 14:35:58 +02:00
Christoffer Lerno
52f3948026
Cleanup of untyped lists.
2022-09-23 10:47:56 +02:00
Christoffer Lerno
46c182f3d1
Fix of bug in nextcase semantic checking. Cleanup and refactoring.
2022-09-22 16:14:39 +02:00
Christoffer Lerno
ad18d9ba48
Add .hash to integer types. Fixup of make and tmake. Updated map.c3 to become a working example. Fix bug in subarray -> pointer conversion. Search extension methods in std::core. Fix slice <-> slice copy.
2022-09-21 17:26:36 +02:00
Christoffer Lerno
be5c82cfa6
Add "$checks". Fix where $y++ could appear inside a runtime scope.
2022-09-20 18:32:36 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +02:00
Christoffer Lerno
9b14340a57
Added prefetch builtin.
2022-09-18 23:27:42 +02:00
Christoffer Lerno
e7fad16d0f
Added stringify tests and $typefrom. Bump to 0.3.50.
2022-09-18 20:52:25 +02:00
Christoffer Lerno
6220bda4a3
Use @operator([]), @operator(&[]) and @operator([]=) instead of names.
2022-09-17 23:33:27 +02:00
Christoffer Lerno
81a2474f75
Add methods to basic types. Remove "intvec" and "floatvec" overloads. Update bits and math to use the new functionality. Introduces [<*>] and [<>] types. Bump version to 0.3.47
2022-09-17 22:00:28 +02:00
Christoffer Lerno
a66c0942f8
Adding saturated builtins. Remove LLVM 12 support. Remove old llvm optimizer use.
2022-09-17 12:03:08 +02:00