| 171 | } |
| 172 | |
| 173 | static cbm_gbuf_t *run_sequential(const char *project, const char *repo_path, |
| 174 | cbm_file_info_t *files, int file_count) { |
| 175 | cbm_gbuf_t *gbuf = cbm_gbuf_new(project, repo_path); |
| 176 | cbm_registry_t *reg = cbm_registry_new(); |
| 177 | atomic_int cancelled; |
| 178 | atomic_init(&cancelled, 0); |
| 179 | |
| 180 | cbm_pipeline_ctx_t ctx = { |
| 181 | .project_name = project, |
| 182 | .repo_path = repo_path, |
| 183 | .gbuf = gbuf, |
| 184 | .registry = reg, |
| 185 | .cancelled = &cancelled, |
| 186 | }; |
| 187 | |
| 188 | cbm_init(); |
| 189 | cbm_pipeline_pass_definitions(&ctx, files, file_count); |
| 190 | cbm_pipeline_pass_calls(&ctx, files, file_count); |
| 191 | cbm_pipeline_pass_usages(&ctx, files, file_count); |
| 192 | cbm_pipeline_pass_semantic(&ctx, files, file_count); |
| 193 | |
| 194 | harness_ctx_free_tables(&ctx); |
| 195 | cbm_registry_free(reg); |
| 196 | return gbuf; |
| 197 | } |
| 198 | |
| 199 | typedef void (*parallel_result_mutator_fn)(CBMFileResult **result_cache, int file_count, void *ud); |
| 200 |
no test coverage detected