mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-30 22:40:54 -07:00 
			
		
		
		
	minor updates for better unused code cleanup in the c_library
This commit is contained in:
		| @@ -72,16 +72,16 @@ inline Str spec_to_str( Specifier type ) | ||||
|  | ||||
| inline bool spec_is_trailing( Specifier specifier ) | ||||
| { | ||||
| 	switch (specifier) { | ||||
| 		case Spec_Const: | ||||
| 		case Spec_Final: | ||||
| 		case Spec_NoExceptions: | ||||
| 		case Spec_Override: | ||||
| 		case Spec_Pure: | ||||
| 		case Spec_Volatile: | ||||
| 	switch ( specifier ) | ||||
| 	{ | ||||
| 		case Spec_Const : | ||||
| 		case Spec_Final : | ||||
| 		case Spec_NoExceptions : | ||||
| 		case Spec_Override : | ||||
| 		case Spec_Pure : | ||||
| 		case Spec_Volatile : | ||||
| 			return true; | ||||
|  | ||||
| 		default: | ||||
| 		default : | ||||
| 			return false; | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -327,8 +327,6 @@ forceinline CodeBody         def_union_body      ( s32 num, Code* codes ) | ||||
|  | ||||
| #pragma region Parsing | ||||
|  | ||||
| // TODO(Ed) : Implmeent the new parser API design. | ||||
|  | ||||
| #if 0 | ||||
| struct StackNode | ||||
| { | ||||
|   | ||||
| @@ -3684,9 +3684,6 @@ CodeEnum parser_parse_enum( bool inplace_def ) | ||||
| 	Code         array_expr = { nullptr }; | ||||
| 	CodeTypename type       = { nullptr }; | ||||
|  | ||||
| 	char  entries_code[ kilobytes(128) ] = { 0 }; | ||||
| 	s32   entries_length = 0; | ||||
|  | ||||
| 	bool is_enum_class = false; | ||||
|  | ||||
| 	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 ) { | ||||
| 		// Typename is a macro | ||||
| 		name = currtok; | ||||
| 		eat(Tok_Preprocess_Macro_Typename); | ||||
| 		// name = currtok; | ||||
| 		// 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 | ||||
| @@ -4734,7 +4732,7 @@ else if ( currtok.Type == Tok_DeclType ) | ||||
|  | ||||
| 	// For function type signatures | ||||
| 	CodeTypename return_type = NullCode; | ||||
| 	CodeParams    params      = NullCode; | ||||
| 	CodeParams   params      = NullCode; | ||||
|  | ||||
| #ifdef GEN_USE_NEW_TYPENAME_PARSING | ||||
| 	CodeParams params_nested = NullCode; | ||||
|   | ||||
| @@ -1129,6 +1129,7 @@ R"(#define <interface_name>( code ) _Generic( (code), \ | ||||
| 	CodeBody interface        = def_body(CT_Global_Body); | ||||
| 	for ( Code entry = parsed_interface.begin(); entry != parsed_interface.end(); ++ entry ) switch( entry->Type ) | ||||
| 	{ | ||||
| 		case CT_Preprocess_If: | ||||
| 		case CT_Preprocess_IfDef: | ||||
| 		{ | ||||
| 			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); | ||||
| 	for ( Code entry = parsed_inlines.begin(); entry != parsed_inlines.end(); ++ entry ) switch( entry->Type ) | ||||
| 	{ | ||||
| 		case CT_Preprocess_If: | ||||
| 		case CT_Preprocess_IfDef: | ||||
| 		{ | ||||
| 			b32 found = ignore_preprocess_cond_block(txt("GEN_INTELLISENSE_DIRECTIVES"), entry, parsed_inlines, inlines ); | ||||
| 			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); | ||||
| 		} | ||||
| 		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); | ||||
| 		found = true; | ||||
|  | ||||
| 		s32 depth = 1; | ||||
| 		++ entry_iter; | ||||
| 		for(b32 continue_for = true; continue_for && entry_iter != parsed_body.end(); ) switch | ||||
| 		(entry_iter->Type) { | ||||
| 		s32 depth = 0; | ||||
| 		for(b32 continue_for = true; continue_for && entry_iter != parsed_body.end(); ) switch (entry_iter->Type) | ||||
| 		{ | ||||
| 			case CT_Preprocess_If: | ||||
| 			case CT_Preprocess_IfDef: | ||||
| 			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: | ||||
| 				++ 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) | ||||
| 					{ | ||||
| 						continue_for = false; | ||||
| 					if ( entry_iter->Type == CT_Preprocess_EndIf) | ||||
| 						break; | ||||
| 					} | ||||
|  | ||||
| 					body.append(entry_iter); | ||||
| 				} | ||||
| 			break; | ||||
|  | ||||
| 			case CT_Preprocess_EndIf: | ||||
| 			{ | ||||
| 				depth --; | ||||
| 				-- depth; | ||||
| 				if (depth == 0) { | ||||
| 					continue_for = false; | ||||
| 					break; | ||||
|   | ||||
| @@ -326,7 +326,7 @@ if ( $unreal ) | ||||
| } | ||||
|  | ||||
| # C Library testing | ||||
| if ( $test -and $false ) | ||||
| if ( $test -and $true ) | ||||
| { | ||||
| 	$path_test_c = join-path $path_test   c_library | ||||
| 	$path_build  = join-path $path_test_c build | ||||
|   | ||||
		Reference in New Issue
	
	Block a user