Lexi
e748f72447
Project view command ( #1314 )
...
Add parsing for the project command and view subcommand. Add basic implementation of c3c project view. Move get_valid_integer into common build.
Co-authored-by: Christoffer Lerno <christoffer.lerno@gmail.com >
2024-08-05 21:45:15 +02:00
Alexey Kutepov
a5b5f315d1
Implement passing arguments to program via compile-run ( #1296 )
2024-08-03 19:47:52 +02:00
Christoffer Lerno
db9fc20acf
Wrapper RTTI now follows LLVM RTTI.
2024-08-01 19:58:52 +02:00
Christoffer Lerno
73b15c691d
Deprecate *-add settings, use without -add. Updated CI.
2024-07-26 03:23:30 +02:00
Christoffer Lerno
abdaca08fe
Add new optimizer runner.
2024-07-24 14:00:09 +02:00
Christoffer Lerno
a4a1a42842
Update llvm build to use on windows.
2024-07-17 16:55:55 +02:00
Christoffer Lerno
0e90ce3b8a
Prevent accidental delete of lib folder when building.
2024-07-08 14:05:09 +02:00
Christoffer Lerno
3f62775f4b
Support c-file compilation in libraries.
2024-07-07 02:04:37 +02:00
Christoffer Lerno
ab626fe3eb
Update avoid warning in FetchContent
2024-07-04 12:07:01 +02:00
Christoffer Lerno
4a50de8318
Use LLVM 18 by default. Update MSVC to LLVM 18.1.8.
2024-07-04 00:48:35 +02:00
Christoffer Lerno
9a19eeacb3
Added further tests to #1219
2024-07-03 15:14:50 +02:00
Christoffer Lerno
d1e2ea7635
Require MSVC 17.7 or higher.
2024-06-29 20:47:25 +02:00
Christoffer Lerno
7b131f2a45
Print MSVC version
2024-06-29 20:35:23 +02:00
Christoffer Lerno
f3d5e3d4c2
Set minimum LLVM version for compilation.
2024-06-29 20:30:37 +02:00
Christoffer Lerno
748c737e8f
0.5.4: Hash variables accept designated initializers. @safemacro overrides the need for @ in macro names. Fixes to macro context evaluation. Updated allocator api. Removed install_win_reqs.bat. Deterministic @init for MacOS. Fixed temp memory issue with formatter. Support LLVM 19. Add support to compare bitstructs using == and !=. Support Windows .def files. Removed invalid grammar from grammar.y. Support compile time folding of &|^~ for bitstructs. output project setting now respected. Fix issue where constants were not properly constant folded. Add temp_push/pop. Aliased declarations caused errors when used in initializers. Fix export output. Fix of const ternary #1118 . Fix of $$MODULE in nested macros #1117 . Fix debug info on globals. out now correctly detects subscript[] use #1116 . Lateral implicit imports removed. Default to '.' if no libdir is specified. Improved error messages for --lib. Fix raylib snake example. Overzealous local escape check corrected #1127 . Improved yacc grammar #1128 . --linker argument #1067 . Fixes to the matrix operations #1130 . Added GenericList.
2024-02-15 21:39:33 +01:00
Tiago Teixeira
66b65a042e
Add CMake option to link c3 dynamically to LLVM/LLD ( #1077 )
...
* Add Cmake option to link c3 dynamically to LLVM/LLD
To link dynamically, use
`cmake -DC3_LINK_DYNAMIC=ON <other-options> ../`
* formatting
2023-11-20 18:10:19 +01:00
Christoffer Lerno
70e7e4b1d2
Enable mingw
2023-10-26 18:54:12 +02:00
Christoffer Lerno
eac19814e1
Make typeid switches always use subtype matching. Update seeder mixing.
2023-08-29 22:48:26 +02:00
Christoffer Lerno
79f964dce9
Fix of atomic checks. Renamed MONOTONIC -> RELAXED.
2023-08-29 12:27:40 +02:00
Christoffer Lerno
ada3ea08fc
Some initial parse output. Enforce handling of optionals. Fix issue where constants were folded despite the fact that they shouldn't be. Fix bug related to return foo() where foo() returns void!. ( #893 )
2023-07-27 22:58:41 +02:00
Christoffer Lerno
9c503cf6fd
Update to handle LLVM 18 part 2
2023-07-26 01:19:06 +02:00
Christoffer Lerno
209d994336
Finalize subprograms after writing them. Correct debug info for C varargs. Add uwtable metadata. Removed visibility from functions.
2023-07-17 20:21:10 +02:00
Christoffer Lerno
aa216fa510
Dev ( #859 )
...
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
2023-07-17 02:00:27 +02:00
Christoffer Lerno
619fa26c26
Updated LLVM for Windows
2023-04-25 16:09:04 +02:00
Christoffer Lerno
809321e20c
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
2023-04-21 10:56:39 +02:00
Christoffer Lerno
3beed8a0f1
No exceptions compiling C++
2023-03-20 09:51:57 +01:00
Christoffer Lerno
33cc2d889b
More const modification detection. Grab the version number into CMake.
2023-03-07 14:35:12 +01:00
Christoffer Lerno
a0a5c940f1
Add --strip-unused.
2023-02-16 22:11:42 +01:00
Christoffer Lerno
2fa3ae7bc9
Restore CMake settings.
2023-02-11 02:05:37 +01:00
Christoffer Lerno
1548cd06ef
Enable local multi-declarations. Fix of builtin argument checking. Migrate to @noinit.
2023-02-11 02:03:02 +01:00
Christoffer Lerno
ddd8be0f38
Fix global noinit. Add @noinit. With tests.
2023-02-11 00:10:02 +01:00
Christoffer Lerno
539d733ceb
Remove LLVM 14 support. Simplify ABI lowering.
2023-01-30 12:39:04 +01:00
Christoffer Lerno
a77e0bf7b3
Add LLVM 17 to CI.
2023-01-29 14:44:03 +01:00
Christoffer Lerno
6a73c8e90e
Clean lib before copy.
2023-01-26 16:28:47 +01:00
Christoffer Lerno
e284d49dd9
Initial add of tilde backend.
2023-01-19 00:08:31 +01:00
Dmitry Atamanov
50b0958fb6
Add Loong arch deps for LLD >= 16
2023-01-12 18:43:05 +01:00
Christoffer Lerno
aded1cb736
Use 15.0.6 on windows. Exclude 14 on linux. Update docker build.
2023-01-11 00:52:43 +01:00
Christoffer Lerno
38be3d57dd
Vendor fetch.
2023-01-06 16:49:45 +01:00
Christoffer Lerno
4a99190f96
C3L zip support. Version bump.
2023-01-03 22:40:35 +01:00
Christoffer Lerno
8008fb2c18
Do not auto-deref subscripting.
2022-12-15 23:46:26 +01:00
Christoffer Lerno
50d2a04c48
Default to threads = cpus(). Correct multithreaded benchmark with threads.
2022-12-11 23:35:02 +01:00
Christoffer Lerno
a281dbe812
Added $$TIME, $$DATE, $$FUNCTION. Builtin defines listed.
2022-10-06 11:57:59 +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
cc71b96c38
Rearranging code somewhat.
2022-09-22 00:05:22 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +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
Christoffer Lerno
e4e1541cd7
Add macro method test update LLVM version for MSVC.
2022-09-08 15:47:52 +02:00
Christoffer Lerno
1a9a71f4c4
Inline asm first checkin.
2022-09-05 13:29:03 +02:00
Christoffer Lerno
fffb8a1d0c
Update CMake for MSVC. Fix packaging for macos.
2022-08-29 12:47:53 +02:00
Christoffer Lerno
272f134e78
Update for LLVM 16
2022-08-01 17:23:23 +02:00