| 131 | } |
| 132 | |
| 133 | int main(int argc, char** argv) { |
| 134 | const char* inFile = nullptr; |
| 135 | spv_target_env target_env = SPV_ENV_UNIVERSAL_1_6; |
| 136 | spvtools::ValidatorOptions options; |
| 137 | bool continue_processing = true; |
| 138 | int return_code = 0; |
| 139 | |
| 140 | for (int argi = 1; continue_processing && argi < argc; ++argi) { |
| 141 | const char* cur_arg = argv[argi]; |
| 142 | if ('-' == cur_arg[0]) { |
| 143 | if (0 == strncmp(cur_arg, "--max-", 6)) { |
| 144 | if (argi + 1 < argc) { |
| 145 | spv_validator_limit limit_type; |
| 146 | if (spvParseUniversalLimitsOptions(cur_arg, &limit_type)) { |
| 147 | uint32_t limit = 0; |
| 148 | if (sscanf(argv[++argi], "%u", &limit)) { |
| 149 | options.SetUniversalLimit(limit_type, limit); |
| 150 | } else { |
| 151 | fprintf(stderr, "error: missing argument to %s\n", cur_arg); |
| 152 | continue_processing = false; |
| 153 | return_code = 1; |
| 154 | } |
| 155 | } else { |
| 156 | fprintf(stderr, "error: unrecognized option: %s\n", cur_arg); |
| 157 | continue_processing = false; |
| 158 | return_code = 1; |
| 159 | } |
| 160 | } else { |
| 161 | fprintf(stderr, "error: Missing argument to %s\n", cur_arg); |
| 162 | continue_processing = false; |
| 163 | return_code = 1; |
| 164 | } |
| 165 | } else if (0 == strcmp(cur_arg, "--version")) { |
| 166 | printf("%s\n", spvSoftwareVersionDetailsString()); |
| 167 | printf( |
| 168 | "Targets:\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n " |
| 169 | "%s\n %s\n %s\n %s %s\n", |
| 170 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_0), |
| 171 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_1), |
| 172 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_2), |
| 173 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_3), |
| 174 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_4), |
| 175 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_5), |
| 176 | spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_6), |
| 177 | spvTargetEnvDescription(SPV_ENV_OPENCL_2_2), |
| 178 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_0), |
| 179 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_1), |
| 180 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_1_SPIRV_1_4), |
| 181 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_2), |
| 182 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_3), |
| 183 | spvTargetEnvDescription(SPV_ENV_VULKAN_1_4)); |
| 184 | continue_processing = false; |
| 185 | return_code = 0; |
| 186 | } else if (0 == strcmp(cur_arg, "--help") || 0 == strcmp(cur_arg, "-h")) { |
| 187 | print_usage(argv[0]); |
| 188 | continue_processing = false; |
| 189 | return_code = 0; |
| 190 | } else if (0 == strcmp(cur_arg, "--target-env")) { |
nothing calls this directly
no test coverage detected