mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-31 06:50:53 -07:00 
			
		
		
		
	minor updates for better unused code cleanup in the c_library
This commit is contained in:
		| @@ -72,7 +72,8 @@ 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_Const : | ||||||
| 		case Spec_Final : | 		case Spec_Final : | ||||||
| 		case Spec_NoExceptions : | 		case Spec_NoExceptions : | ||||||
| @@ -80,7 +81,6 @@ inline bool spec_is_trailing( Specifier specifier ) | |||||||
| 		case Spec_Pure : | 		case Spec_Pure : | ||||||
| 		case Spec_Volatile : | 		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 | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user