- Parse multiple fields on same line #683
- Add enum variants to enum data type #684
- Enable
restrict
in string standard header #691 - Add node example #694
- Implement
nullptr_t
for C23 standard #696
- Fix macro call with paren after #681
- Allow initialization on cast expression #685
- Allow array and function to cast data type #686
- Disallow assignment to array data type #686
- Fix visit of struct, union and typedef #692
- Fix missing typedef data type resolution #693
- Remove comment doc token after scan #682
- Remove unused EOT contexts #688
- Remove unused code in the parser #690
- Scan GNU attribute #648
- Add support to
__restrict
and__restrict__
extension #651 - Add
__extension__
keyword support #656 - Write a preprocessor resolver #659
- Parse custom expression of enum variant #661
- Resolve indirect macro call #663
- Add the ability to merge keyword #665
- Parse bit field #667
- Generate bit field #669
- Add VecBit type #671
- Add
out.ci
andout.lily
to.gitignore
#673 - Validate non null expression #678
- Improve scan of
__attribute__((x))
#649 - Move scan of multi keywords in the parser #652
- Disable Clang and GCC features #658
- Improve the resolution of custom value of enum variant #662
- Stop to give storage class to enum declaration #668
- Use fwrite instead of fprintf #672
- Let the OS store
stdio.h
andstdlib.h
#677
- Fix case with paren inside
__attribute__
#650 - Fix some issues with preprocessor #653
- Fix bad parsing of dot and arrow access #654
- Fix leak when macro param is passed to unused macro param #655
- Fix infinite loop while parse post data type #657
- Fix bug on direct declaration of struct/union in typedef declaration #660
- Fix else if statement #664
- Limit the resolution of left or right token of
##
#666 - Fix bad order of declaration generation #670
- Fix few leaks during typechecking of path access #675
- Fix write file regression #676
- Remove
benchmarks
directory #674
- Add C standard stdlib header #559
- Add variadic parameter support to function #565
- Add stdarg function builtins #567
- Add
__builtin_va_copy
function builtin #568 - Add C standard stdarg header #571
- Add C standard stdio header #572
- Add C standard stdbool header #573
- Add ability to discard function call value #574
- Add the ability to disable use of fork in the test library #581
- Add
-fsanitize=address
to link options #582 - Add new tests to Vec type #583
- Add new tests to HashMap type #585
- Add new tests to Str (char*) type #587
- Add
-f
/--file
option to CI CLI #588 - Add scientific notation support to
atof__*
function #590 - Add
--standard
/-s
option to CI CLI #594 - Add
--include
/-I
option to CI CLI #596 - Add
--include0
option to CI CLI #599 - Add some new tests to CI #604
- Typecheck union data type #605
- Add some new tests to CI [2] #609
- Add C standard string header #610
- Add C standard ctype header #611
- Typecheck goto statement #618
- Add some new tests to CI [3] #620
- Add some new tests to CI [4] #622
- Resolve array access in expression access (e.g. ->, .) #627
- Implement all data type qualifiers #632
- Add a check for data type qualifier #636
- Add __gnuc_va_list support to
stdarg.h
#641 - Add stdnoreturn header for C standard library #642
- Scan
~
and~=
token #643 - Add some checks to data type contexts #645
- Allow void cast from all types #575
- Allow to implicit cast from array to struct (vice versa) #576
- Improve test library #580
- Improve installation script #586
- Update
BUILD.md
to add steps for FreeBSD #591 - Use
c2x
instead ofc23
as possible values for thestandard
option #595 - Display expected value per option in the help #597
- Update
scripts/compare_ci.sh
according the new CLI options #601 - Make the warning preprocessor valid in all standards #603
- Allow implicit cast from integer to float or vice versa #606
- Make
bool
implicitly castable as an integer #607 - Generate
_Bool
when standard is less than C23 #608 - Allow to discard more expressions #612
- Allow to pass c23 instead of c2x as value of standard option #617
- Assume that a
string
literal is an array of char #619 - Allow to use storage class inside function #621
- Allow multiple expressions to
for
init clause #623 - Update
BUILD.md
#624 - Return 0 when a non-defined macro is encountered #625
- Use
bits/libc-header-start.h
header instdio.h
#628 - Update examples #629
- Update documentations #630
- Update
README.md
#631 - Allow different syntaxes to data type qualifier #633
- Define
_Bool
when using the C89 standard #640
- Fix bug in struct or union type name generation #561
- Fix: Generate storage class for variable declaration #562
- Fix: Stop to pre-calculate size or alignment of custom type #560
- Fix a segfault when the config path could not be found #563
- Fix: Check the number of macro parameters if there are none #564
- Fix a segmentation fault when no expression was passed to the variable when checking the expression of the variable declaration #566
- Fix leak when declaration is recursive (struct, ...) #569
- Fix leak when the visit waiting list got collision #570
- Fix condition of statement typecheck #577
- Fix potential bug in
for
statement typecheck #578 - Fix potential bug in for statement typecheck [2] #579
- Fix some leaks during Lily compilation #584
- Fix
scripts/compare_ci.sh
#589 - Fix C suffixes integer #592
- Fix build when
LILY_BUILD_LLVM
is on #593 - Fix: Get absolute directory from include CLI option value #598
- Fix parser never jump in else preprocessor #600
- Fix lack of standardization of
signed char
keyword #602 - Fix segfault during typecheck of for init clause #613
- Fix bug in typecheck of function body item #614
- Fix bug in generation of for init clause semicolon #615
- Fix bad generation of post/pre dec/increment operator #616
- Fix unary operator parsing #626
- Fix unknown typedef while using
stdio.h
on Ubuntu #635 - Fix a wrong order of generation of data type qualifiers #637
- Fix extra space after data type generation #638
- Fix some bugs in parsing of typedef declaration #639
- Fix macro scan when encountering a comment line #644
- Implement implicit casting #527
- Finish to resolve unary expression #530
- Add C standard stddef header #536
- Add C standard stdint header #537
- Typecheck params for generic function #539
- Finish to visit generic function #541
- Add the ability to call generic function #542
- Add the ability to call struct or union in generic context #544
- Add file system watcher #547
- Typecheck dot and arrow access #548
- Add the ability to call function as identifier #550
- Add
std_include
setting to CI configuration #553 - Add a script to auto-format files each time they are modified #555
- Add object value/object schema structures #556
- Improve inference of unary expression #526
- Implement CLI for CI #529
- Undef stdint macros #538
- Infer string as a pointer #540
- Fix
format__String
function #528 - Fix generic params #531
- Fix leak in struct call typecheck #532
- Fix struct call typecheck #533
- Fix search in scope bug #534
- Fix leak in parse function params #535
- Fix bad generation of serialized name #543
- Fix stack overflow while typechecking named struct #545
- Fix bad typecheck diagnostic while using const data type #546
- Fix few issues encountered on FreeBSD at compilation #549
- Fix
__FILE__
value #551 - Fix
__LINE__
value #552 - Fix: Add missing data types to the parser of data type #554
- Implement stringification #518
- Add C standard assert header #520
- Add C standard errno header #521
- Parse data type contexts #522
- Begin to implement typecheck #523
- Fix escape character generation #519
- Implement __VA_ARGS__ #500
- Resolve sizeof and alignof operator #504
- Add a way to give different integer size to enum #505
- Resolve size and alignment of builtin type #509
- Implement attribute for function declaration #513
- Fix: Allow prototype duplications #503
- Fix dependencies order generation #506
- Fix space after brace of enum declaration #507
- Fix potential bug in expression resolver #508
- Fix array LLVM generation #510
- Fix include path access #512
- Fix wrapped macro call bug #514
- Associate macro param with the right macro call ID #515
- Stop to use
_BitInt(x)
Clang extension #511
- Get builtin values according to the desired standard #483
- Implement (scan) variadic param #482
- Get compiler include dirs #486
- Add
__has_feature
#487 - Parse
nullptr
expression #488 - Implement way to get standard types from builtin file (e.g. __SIZE_TYPE__) #489
- Parse typeof #491
- Add functions and types builtin #492
- Generate function call builtin #498
- Parse fixed array and function data type #499
- Fix parse unary #484
- Fix bug in include system #493
- Fix memory leak in resolve include preprocessor function #494
- Fix bug in peek scanner function #495
- Fix: Free duplicate macro #496
- Fix memory leaks when resolving a ternary expression #497
- Begin to implement CI #424
- Implement anonymous struct/union #433
- feat(cc/ci): Scan preprocessors #438
- Resolve preprocessor #439
- Scan & Resolve macro defined #440
- Use
HAS_REACH_END
macro in Lily scanner #441 - Scan integer and float suffixes #443
- Add standard predefined macros #444
- Parse array access #450
- Parse list of variables #452
- Parse typedef declaration #453
- Manage recursive type #455
- Parse array #462
- Manage prototype rule #465
- Add
_XOPEN_SOURCE
macro as builtin #468 - Define standard macros #471
- Build entity (library, binary, ...) #472
- Add static storage class to all functions gen #475
- Parse ternary expression #477
- Implement ID merge #478
- Fix bug on expression with defined macro #442
- Fix semicolon bug in the parser #446
- Fix
for
statement init-clause #447 - Fix bug on
while
statement parsing #448 - Fix: The parser incorrectly parse the
do..while
statement. #449 - Fix bug on parsing of
enum
andstruct
#451 - Fix parsing of post expression #454
- Fix bug on for loop parsing #459
- Fix parsing on sizeof expression #460
- Fix miss standarization of keyword #461
- Fix bug on switch statement parsing #463
- Fix bug in generation of builtin value #473
- Fix leak during macro param injection #479
- Change generic syntax #458
- Update initialization rule #464
- Turn token as node #469
- Update include system #476
- Fix infinite wait when running child packages #403
- Fix linking errors on MacOS #401