mirror of
https://github.com/Ed94/gencpp.git
synced 2024-12-21 23:34:44 -08:00
minor updates for better unused code cleanup in the c_library
This commit is contained in:
parent
6533a3be29
commit
6689235691
@ -72,16 +72,16 @@ inline Str spec_to_str( Specifier type )
|
|||||||
|
|
||||||
inline bool spec_is_trailing( Specifier specifier )
|
inline bool spec_is_trailing( Specifier specifier )
|
||||||
{
|
{
|
||||||
switch (specifier) {
|
switch ( specifier )
|
||||||
case Spec_Const:
|
{
|
||||||
case Spec_Final:
|
case Spec_Const :
|
||||||
case Spec_NoExceptions:
|
case Spec_Final :
|
||||||
case Spec_Override:
|
case Spec_NoExceptions :
|
||||||
case Spec_Pure:
|
case Spec_Override :
|
||||||
case Spec_Volatile:
|
case Spec_Pure :
|
||||||
|
case Spec_Volatile :
|
||||||
return true;
|
return true;
|
||||||
|
default :
|
||||||
default:
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -327,8 +327,6 @@ forceinline CodeBody def_union_body ( s32 num, Code* codes )
|
|||||||
|
|
||||||
#pragma region Parsing
|
#pragma region Parsing
|
||||||
|
|
||||||
// TODO(Ed) : Implmeent the new parser API design.
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
struct StackNode
|
struct StackNode
|
||||||
{
|
{
|
||||||
|
@ -3684,9 +3684,6 @@ CodeEnum parser_parse_enum( bool inplace_def )
|
|||||||
Code array_expr = { nullptr };
|
Code array_expr = { nullptr };
|
||||||
CodeTypename type = { nullptr };
|
CodeTypename type = { nullptr };
|
||||||
|
|
||||||
char entries_code[ kilobytes(128) ] = { 0 };
|
|
||||||
s32 entries_length = 0;
|
|
||||||
|
|
||||||
bool is_enum_class = false;
|
bool is_enum_class = false;
|
||||||
|
|
||||||
eat( Tok_Decl_Enum );
|
eat( Tok_Decl_Enum );
|
||||||
@ -4684,11 +4681,12 @@ else if ( currtok.Type == Tok_DeclType )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO(Ed): This needs updating
|
|
||||||
else if ( currtok.Type == Tok_Preprocess_Macro_Typename ) {
|
else if ( currtok.Type == Tok_Preprocess_Macro_Typename ) {
|
||||||
// Typename is a macro
|
// Typename is a macro
|
||||||
name = currtok;
|
// name = currtok;
|
||||||
eat(Tok_Preprocess_Macro_Typename);
|
// eat(Tok_Preprocess_Macro_Typename);
|
||||||
|
Code macro = parse_simple_preprocess(Tok_Preprocess_Macro_Typename);
|
||||||
|
name.Text = macro->Content;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The usual Identifier type signature that may have namespace qualifiers
|
// The usual Identifier type signature that may have namespace qualifiers
|
||||||
@ -4734,7 +4732,7 @@ else if ( currtok.Type == Tok_DeclType )
|
|||||||
|
|
||||||
// For function type signatures
|
// For function type signatures
|
||||||
CodeTypename return_type = NullCode;
|
CodeTypename return_type = NullCode;
|
||||||
CodeParams params = NullCode;
|
CodeParams params = NullCode;
|
||||||
|
|
||||||
#ifdef GEN_USE_NEW_TYPENAME_PARSING
|
#ifdef GEN_USE_NEW_TYPENAME_PARSING
|
||||||
CodeParams params_nested = NullCode;
|
CodeParams params_nested = NullCode;
|
||||||
|
@ -1129,6 +1129,7 @@ R"(#define <interface_name>( code ) _Generic( (code), \
|
|||||||
CodeBody interface = def_body(CT_Global_Body);
|
CodeBody interface = def_body(CT_Global_Body);
|
||||||
for ( Code entry = parsed_interface.begin(); entry != parsed_interface.end(); ++ entry ) switch( entry->Type )
|
for ( Code entry = parsed_interface.begin(); entry != parsed_interface.end(); ++ entry ) switch( entry->Type )
|
||||||
{
|
{
|
||||||
|
case CT_Preprocess_If:
|
||||||
case CT_Preprocess_IfDef:
|
case CT_Preprocess_IfDef:
|
||||||
{
|
{
|
||||||
b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_interface, interface );
|
b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_interface, interface );
|
||||||
@ -1217,11 +1218,18 @@ R"(#define <interface_name>( code ) _Generic( (code), \
|
|||||||
CodeBody inlines = def_body(CT_Global_Body);
|
CodeBody inlines = def_body(CT_Global_Body);
|
||||||
for ( Code entry = parsed_inlines.begin(); entry != parsed_inlines.end(); ++ entry ) switch( entry->Type )
|
for ( Code entry = parsed_inlines.begin(); entry != parsed_inlines.end(); ++ entry ) switch( entry->Type )
|
||||||
{
|
{
|
||||||
|
case CT_Preprocess_If:
|
||||||
case CT_Preprocess_IfDef:
|
case CT_Preprocess_IfDef:
|
||||||
{
|
{
|
||||||
b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_inlines, inlines );
|
b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_inlines, inlines );
|
||||||
if (found) break;
|
if (found) break;
|
||||||
|
|
||||||
|
found = ignore_preprocess_cond_block(txt("GEN_COMPILER_CPP"), entry, parsed_interface, interface);
|
||||||
|
if (found) break;
|
||||||
|
|
||||||
|
found = ignore_preprocess_cond_block(txt("0"), entry, parsed_interface, interface);
|
||||||
|
if (found) break;
|
||||||
|
|
||||||
inlines.append(entry);
|
inlines.append(entry);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -28,10 +28,9 @@ b32 ignore_preprocess_cond_block( Str cond_sig, Code& entry_iter, CodeBody& pars
|
|||||||
//log_fmt("Preprocess cond found: %S\n", cond->Content);
|
//log_fmt("Preprocess cond found: %S\n", cond->Content);
|
||||||
found = true;
|
found = true;
|
||||||
|
|
||||||
s32 depth = 1;
|
s32 depth = 0;
|
||||||
++ entry_iter;
|
for(b32 continue_for = true; continue_for && entry_iter != parsed_body.end(); ) switch (entry_iter->Type)
|
||||||
for(b32 continue_for = true; continue_for && entry_iter != parsed_body.end(); ) switch
|
{
|
||||||
(entry_iter->Type) {
|
|
||||||
case CT_Preprocess_If:
|
case CT_Preprocess_If:
|
||||||
case CT_Preprocess_IfDef:
|
case CT_Preprocess_IfDef:
|
||||||
case CT_Preprocess_IfNotDef:
|
case CT_Preprocess_IfNotDef:
|
||||||
@ -41,20 +40,18 @@ b32 ignore_preprocess_cond_block( Str cond_sig, Code& entry_iter, CodeBody& pars
|
|||||||
|
|
||||||
case CT_Preprocess_Else:
|
case CT_Preprocess_Else:
|
||||||
++ entry_iter;
|
++ entry_iter;
|
||||||
for(; continue_for && entry_iter != parsed_body.end(); ++ entry_iter)
|
if (depth == 1) for(; entry_iter != parsed_body.end(); ++ entry_iter)
|
||||||
{
|
{
|
||||||
if (entry_iter->Type == CT_Preprocess_EndIf)
|
if ( entry_iter->Type == CT_Preprocess_EndIf)
|
||||||
{
|
|
||||||
continue_for = false;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
body.append(entry_iter);
|
body.append(entry_iter);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CT_Preprocess_EndIf:
|
case CT_Preprocess_EndIf:
|
||||||
{
|
{
|
||||||
depth --;
|
-- depth;
|
||||||
if (depth == 0) {
|
if (depth == 0) {
|
||||||
continue_for = false;
|
continue_for = false;
|
||||||
break;
|
break;
|
||||||
|
@ -326,7 +326,7 @@ if ( $unreal )
|
|||||||
}
|
}
|
||||||
|
|
||||||
# C Library testing
|
# C Library testing
|
||||||
if ( $test -and $false )
|
if ( $test -and $true )
|
||||||
{
|
{
|
||||||
$path_test_c = join-path $path_test c_library
|
$path_test_c = join-path $path_test c_library
|
||||||
$path_build = join-path $path_test_c build
|
$path_build = join-path $path_test_c build
|
||||||
|
Loading…
Reference in New Issue
Block a user