Christoffer Lerno
3188d4d858
Reference parameter doesn't work with vector subscript #1250 .
2024-07-23 21:20:40 +02:00
Christoffer Lerno
1bb76b1a49
Unsplat with named parameters was accidentally disallowed.
2024-07-22 11:44:34 +02:00
Christoffer Lerno
9584efd84c
Update AVX support.
2024-07-22 02:34:33 +02:00
Christoffer Lerno
c84bc8a8f3
Add convenience function.
2024-07-21 00:43:16 +02:00
Christian Buttner
edc55a2afd
Small fixes to stdlib. ( #1247 )
...
Small fixes to stdlib. Match the signature of `NativeConditionVariable.wait_timeout` and `NativeMutex.lock_timeout` of thread_win32.c3 to `ConditionVariable.wait_timeout` and `TimedMutex.lock_timeout` to avoid casting errors. Add `time::us`.
2024-07-20 19:19:16 +02:00
Christoffer Lerno
480325177c
Remove accidental debug code.
2024-07-20 18:40:25 +02:00
Christoffer Lerno
03cfa42eb6
Duplicate symbols with static variable declared in macro #1248 . Improved error message when trying user foreach with an untyped list.
2024-07-20 03:39:33 +02:00
Christoffer Lerno
b25c573ae3
Indexing into a constant array / struct now works at compile time. Constants defined by indexing into another constant could fail codegen. Stdlib nolibc code bugs fixed.
2024-07-20 01:20:03 +02:00
Christoffer Lerno
7f5757d66b
Add .dot to integer vectors.
2024-07-19 11:34:05 +02:00
Christoffer Lerno
a3a275c3d5
Updated linux build
2024-07-19 11:10:59 +02:00
Christoffer Lerno
557f007b12
Spelling
2024-07-19 10:38:52 +02:00
Christoffer Lerno
542406c16f
Exclude 18 for linux for now.
2024-07-19 01:13:49 +02:00
Christoffer Lerno
1fa870411f
Separate LLVM18 compile for Linux in CI
2024-07-19 00:36:04 +02:00
Christoffer Lerno
c096487eea
Test if this fixes LLVM 18 compilation.
2024-07-19 00:32:27 +02:00
Christoffer Lerno
97a8e0cdd4
Retain backwards compatibility with old manifest.json.
2024-07-19 00:23:54 +02:00
Christoffer Lerno
eb20a5c051
mainfest.json is now checked for incorrect keys. Added --list-manifest-properties to list the available properties in manifest.json.
2024-07-19 00:03:05 +02:00
Christoffer Lerno
5c6acf89da
Added docs to io.c3
2024-07-18 20:44:36 +02:00
Christoffer Lerno
9dfe7ddbde
Add wrapper methods, use LLVM-transforms directly.
2024-07-18 20:44:36 +02:00
Christian Buttner
8285720180
Add tests and improvements for @nopadding and @compact.
2024-07-17 17:00:36 +02:00
Christoffer Lerno
a4a1a42842
Update llvm build to use on windows.
2024-07-17 16:55:55 +02:00
Christoffer Lerno
3c3217ab2b
Fix PIE.
2024-07-16 14:58:48 +02:00
Alex Anderson
17ee3887dd
Use usz and fix out of bounds access in branchless loop
2024-07-16 13:22:11 +02:00
Alex Anderson
db75da65db
Make countingsort.c3's recursion stage branchless
...
Tracks the three potential cases for each fallback, item counts ranging from [2,32], [33,128], [128, ...] and uses a loop specifically for each fallback.
2024-07-15 22:25:59 +02:00
Christoffer Lerno
cf95257c81
Fix test (again).
2024-07-15 17:30:42 +02:00
Christoffer Lerno
b40036c203
Fix test.
2024-07-15 17:04:06 +02:00
Christian Buttner
b18661a8b0
Make stdlib mem::allocator more complete. ( #1238 )
...
Make stdlib mem::allocator more complete. Fill in some gaps and docstrings. List.to_new_array. Handle overalignment smoothly in list.
2024-07-15 16:35:40 +02:00
Christoffer Lerno
bc0d52142a
Added pull request #1189 : Fix os::native_is_{file,dir} bug. Add tests.
2024-07-15 03:02:54 +02:00
Christoffer Lerno
24041ed80d
Macro $case statements now pick the first match and does not evaluate the rest. Added countingsort tests #1234 .
2024-07-15 02:01:26 +02:00
Christoffer Lerno
1a03e6b22e
Prevent implicit array casts to pointers with higher alignment. #1237
2024-07-14 23:44:05 +02:00
Christoffer Lerno
68fb916195
Fix when memcmp is defined.
2024-07-14 16:51:38 +02:00
Christoffer Lerno
dfb8a1b8cb
Improved bool and float array comparisons.
2024-07-14 14:16:17 +02:00
Christoffer Lerno
6c38409c57
Array comparison now uses built-in memcmp on LLVM to enable optimizations.
2024-07-14 01:35:19 +02:00
Christoffer Lerno
27fd7a9088
- Fix problem where a $$FUNC would return "<GLOBAL>" when evaluated for a static in a function #1236 .
2024-07-13 19:57:04 +02:00
Christoffer Lerno
0e62423e06
Bitstruct in struct fix.
2024-07-13 01:54:45 +02:00
Christoffer Lerno
3f45ed14b9
Compare @compact structs.
2024-07-12 23:54:07 +02:00
Christoffer Lerno
ca4b782912
MemberIndex -> ArrayIndex
2024-07-12 18:27:05 +02:00
Christian Buttner
1976a11154
@nopadding and @compact attributes (#1235 )
...
Add `@nopadding` attribute. `@compact`
2024-07-12 18:25:09 +02:00
Christoffer Lerno
e7d8f64a49
Compile c files to separate directories. Add compressed library to example test project.
2024-07-10 13:35:01 +02:00
Christoffer Lerno
5cf1f13328
Private function called from nested macro not visible to linker #1232
2024-07-09 22:01:39 +02:00
Christoffer Lerno
fba706f10b
Updated sorting code.
2024-07-09 01:04:11 +02:00
Alex Anderson
c50630989e
draft: add countingsort.c3 ( #1230 )
...
Draft countingsort.c3
2024-07-08 21:08:57 +02:00
Christoffer Lerno
3832be94d0
Added sort helper function.
2024-07-08 21:02:49 +02:00
Alex Anderson
900c1152d3
add insertion sort ( #1225 )
2024-07-08 18:53:47 +02:00
Christoffer Lerno
4ea50a8a85
Update version.
2024-07-08 17:39:31 +02:00
Christoffer Lerno
0132fd4101
Bad error message when using a generic method without generic parameters #1228
2024-07-08 17:32:39 +02:00
Christoffer Lerno
0e90ce3b8a
Prevent accidental delete of lib folder when building.
2024-07-08 14:05:09 +02:00
Christoffer Lerno
9368ebfbd3
Allow using $defined(&a[1]) to check if the operation is supported.
2024-07-08 01:42:34 +02:00
Christoffer Lerno
8381dbbd8f
Fix incorrect INLINE on const init function.
2024-07-07 23:29:57 +02:00
Christoffer Lerno
343ccaa2ef
Support c-file compilation in libraries.
2024-07-07 11:21:31 +02:00
Christoffer Lerno
3f62775f4b
Support c-file compilation in libraries.
2024-07-07 02:04:37 +02:00