Handle pass.timing event. */
| 262 | |
| 263 | /* Handle pass.timing event. */ |
| 264 | static void on_pass_timing(const char *line) { |
| 265 | char val[CBM_SZ_64] = {0}; |
| 266 | const char *pass = extract_kv(line, "pass", val, (int)sizeof(val)); |
| 267 | if (!pass) { |
| 268 | return; |
| 269 | } |
| 270 | flush_carriage(); |
| 271 | for (int i = 0; i < PHASE_COUNT; i++) { |
| 272 | if (strcmp(pass, phases[i].pass) == 0) { |
| 273 | (void)fprintf(s_out, "%s\n", phases[i].label); |
| 274 | (void)fflush(s_out); |
| 275 | return; |
| 276 | } |
| 277 | } |
| 278 | } |
| 279 | |
| 280 | /* Handle gbuf.dump event — capture node/edge counts. */ |
| 281 | static void on_gbuf_dump(const char *line) { |
nothing calls this directly
no test coverage detected