mirror of
				https://gitlab.winehq.org/wine/vkd3d.git
				synced 2025-09-12 18:50:22 -07:00 
			
		
		
		
	vkd3d-compiler: Exit the main function through a common code path.
This commit is contained in:
		
				
					committed by
					
						 Alexandre Julliard
						Alexandre Julliard
					
				
			
			
				
	
			
			
			
						parent
						
							d38221bd68
						
					
				
				
					commit
					896fc0c2ce
				
			
				
				Notes:
				
					Alexandre Julliard
				
				2024-02-01 00:31:43 +01:00 
			
			Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Francisco Casas (@fcasas) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/615
| @@ -717,12 +717,13 @@ int main(int argc, char **argv) | ||||
|     int ret; | ||||
|  | ||||
|     if (!parse_command_line(argc, argv, &options)) | ||||
|         return 1; | ||||
|         goto done; | ||||
|  | ||||
|     if (options.print_help) | ||||
|     { | ||||
|         print_usage(argv[0]); | ||||
|         return 0; | ||||
|         fail = 0; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (options.print_version) | ||||
| @@ -730,13 +731,15 @@ int main(int argc, char **argv) | ||||
|         const char *version = vkd3d_shader_get_version(NULL, NULL); | ||||
|  | ||||
|         fprintf(stdout, "vkd3d shader compiler version " PACKAGE_VERSION " using %s\n", version); | ||||
|         return 0; | ||||
|         fail = 0; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (options.print_source_types) | ||||
|     { | ||||
|         print_source_types(); | ||||
|         return 0; | ||||
|         fail = 0; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (options.print_target_types) | ||||
| @@ -744,11 +747,12 @@ int main(int argc, char **argv) | ||||
|         if (options.source_type == VKD3D_SHADER_SOURCE_NONE) | ||||
|         { | ||||
|             fprintf(stderr, "--print-target-types requires an explicitly specified source type.\n"); | ||||
|             return 1; | ||||
|             goto done; | ||||
|         } | ||||
|  | ||||
|         print_target_types(options.source_type); | ||||
|         return 0; | ||||
|         fail = 0; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (!(input = open_input(options.filename, &close_input))) | ||||
| @@ -774,7 +778,7 @@ int main(int argc, char **argv) | ||||
|             if (token == TAG_DXBC) | ||||
|             { | ||||
|                 if (!parse_dxbc_source_type(&info.source, &options.source_type)) | ||||
|                     return 1; | ||||
|                     goto done; | ||||
|             } | ||||
|             else if ((token & 0xfffe0000) == 0xfffe0000) | ||||
|                 options.source_type = VKD3D_SHADER_SOURCE_D3D_BYTECODE; | ||||
| @@ -791,13 +795,13 @@ int main(int argc, char **argv) | ||||
|         fprintf(stderr, "Target type '%s' is invalid for source type '%s'.\n", | ||||
|                 get_target_type_info(options.target_type)->name, | ||||
|                 get_source_type_info(options.source_type)->name); | ||||
|         return 1; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (!options.preprocess_only && options.source_type == VKD3D_SHADER_SOURCE_HLSL && !options.profile) | ||||
|     { | ||||
|         fprintf(stderr, "You need to specify a profile when compiling from HLSL source.\n"); | ||||
|         return 1; | ||||
|         goto done; | ||||
|     } | ||||
|  | ||||
|     if (!options.filename && get_source_type_info(options.source_type)->is_binary && isatty(fileno(input))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user