mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-31 06:50:53 -07:00 
			
		
		
		
	Fix for convert_cpp_enum_to_c for gen_c_library
It wasn't generating correct typedefs for when underlying type was used over the enum name.
This commit is contained in:
		| @@ -7,8 +7,19 @@ void convert_cpp_enum_to_c( CodeEnum to_convert, CodeBody to_append ) | ||||
| { | ||||
| #pragma push_macro("enum_underlying") | ||||
| #undef enum_underlying | ||||
| 	StrCached type = to_convert->UnderlyingType ? to_convert->UnderlyingType.to_strbuilder().to_str() : to_convert->Name; | ||||
| 	CodeTypedef tdef = parse_typedef(token_fmt("type", type, "name", to_convert->Name, stringize( typedef enum <type> <name>; ))); | ||||
| 	StrCached  type; | ||||
| 	CodeTypedef tdef; | ||||
| 	if (to_convert->UnderlyingType) | ||||
| 	{ | ||||
| 		type = to_convert->UnderlyingType.to_strbuilder().to_str(); | ||||
| 		tdef = parse_typedef(token_fmt("type", type, "name", to_convert->Name, stringize( typedef <type> <name>; ))); | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		type = to_convert->Name; | ||||
| 		tdef = parse_typedef(token_fmt("type", type, "name", to_convert->Name, stringize( typedef enum <type> <name>; ))); | ||||
|  | ||||
| 	} | ||||
| 	if (to_convert->UnderlyingType) | ||||
| 	{ | ||||
| 		to_convert->UnderlyingTypeMacro = untyped_str(token_fmt("type", to_convert->UnderlyingType->Name, stringize(enum_underlying(<type>)))); | ||||
|   | ||||
| @@ -344,15 +344,17 @@ if ( $vendor -match "clang" ) | ||||
| 		} | ||||
|  | ||||
| 		# Check if output is a static library | ||||
| 		# if ( $binary -match '\.lib$' ) | ||||
| 		# { | ||||
| 			# $lib_args  = @() | ||||
| 		if ( $binary -match '\.lib$' ) | ||||
| 		{ | ||||
| 			$lib_args  = @() | ||||
| 			# $lib_args += $flag_nologo | ||||
| 			# $lib_args += $flag_link_win_machine_64 | ||||
| 			# $lib_args += ( $flag_link_win_path_output + $binary ) | ||||
| 			# $lib_args += $object | ||||
| 			# return run-archiver $archiver $binary $lib_args | ||||
| 		# } | ||||
| 			# $lib_args += '--format=windows' | ||||
| 			# $lib_args += '-X64' | ||||
| 			$lib_args += $object | ||||
| 			return run-archiver $archiver $binary $lib_args | ||||
| 		} | ||||
|  | ||||
| 		$linker_args += $object | ||||
| 		return run-linker $linker $binary $linker_args | ||||
|   | ||||
		Reference in New Issue
	
	Block a user