mirror of
https://github.com/Ed94/gencpp.git
synced 2024-12-22 07:44:45 -08:00
Fix for wrong tokens for GNU/MSVC attribute captures (parse_attributes)
Also a fix for a typo in the readme...
This commit is contained in:
parent
c7647ab00f
commit
67d02c1f62
@ -6,7 +6,7 @@ The library API is a composition of code element constructors.
|
||||
These build up a code AST to then serialize with a file builder.
|
||||
|
||||
This code base attempts follow the [handmade philosophy](https://handmade.network/manifesto),
|
||||
its not meant to be a black box metaprogramming utility, it should be easy to intergrate into a user's their project domain.
|
||||
its not meant to be a black box metaprogramming utility, it should be easy to intergrate into a user's project domain.
|
||||
|
||||
## Notes
|
||||
|
||||
|
@ -1428,16 +1428,16 @@ CodeAttributes parse_attributes()
|
||||
|
||||
else if ( check(TokType::Decl_GNU_Attribute) )
|
||||
{
|
||||
eat(TokType::BraceCurly_Open);
|
||||
eat(TokType::BraceCurly_Open);
|
||||
eat(TokType::Capture_Start);
|
||||
eat(TokType::Capture_Start);
|
||||
|
||||
while ( left && currtok.Type != TokType::BraceCurly_Close )
|
||||
while ( left && currtok.Type != TokType::Capture_End )
|
||||
{
|
||||
eat(currtok.Type);
|
||||
}
|
||||
|
||||
eat(TokType::BraceCurly_Close);
|
||||
eat(TokType::BraceCurly_Close);
|
||||
eat(TokType::Capture_End);
|
||||
eat(TokType::Capture_End);
|
||||
|
||||
s32 len = ( (sptr)prevtok.Text + prevtok.Length ) - (sptr)start.Text;
|
||||
}
|
||||
@ -1445,14 +1445,14 @@ CodeAttributes parse_attributes()
|
||||
else if ( check(TokType::Decl_MSVC_Attribute) )
|
||||
{
|
||||
eat( TokType::Decl_MSVC_Attribute );
|
||||
eat( TokType::BraceCurly_Open);
|
||||
eat( TokType::Capture_Start);
|
||||
|
||||
while ( left && currtok.Type != TokType::BraceCurly_Close )
|
||||
while ( left && currtok.Type != TokType::Capture_End )
|
||||
{
|
||||
eat(currtok.Type);
|
||||
}
|
||||
|
||||
eat(TokType::BraceCurly_Close);
|
||||
eat(TokType::Capture_End);
|
||||
|
||||
s32 len = ( (sptr)prevtok.Text + prevtok.Length ) - (sptr)start.Text;
|
||||
}
|
||||
|
@ -118,8 +118,9 @@ void check_SOA()
|
||||
{
|
||||
log_fmt("\ncheck_SOA:");
|
||||
gen::init();
|
||||
|
||||
Builder soa_test = Builder::open( "SOA.gen.hpp" );
|
||||
|
||||
|
||||
soa_test.print( parse_using( code(
|
||||
using u16 = unsigned short;
|
||||
)));
|
||||
@ -136,6 +137,7 @@ void check_SOA()
|
||||
u64 D;
|
||||
};
|
||||
))
|
||||
, 100
|
||||
));
|
||||
|
||||
soa_test.write();
|
||||
|
@ -18,7 +18,7 @@ int gen_main()
|
||||
|
||||
check_SOA();
|
||||
|
||||
check_singleheader_ast();
|
||||
// check_singleheader_ast();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user