kavak.run compiler stack

Conformance · measured, not claimed

How much C actually runs.

No official C compiler suite fits this scale, so the measurement is the UNION of two gates: the visitor bar (the C inside the corpus) + the probe suite (the C outside it).

95.9%374 of 390 in-scope ledger rows
  • passing374
  • not yet supported16
  • wrong — a real defect0
  • out of scope / no arbiter1
What was measured
Authority
languages/C/tests/corpus/manifest.tsv
Arbiter
this machine's clang (-std=c17 -w), row by row in the oracle column; every row is compared byte for byte against a native reference
Unit
ledger row
Measured
2026-10-11 05:39

breakdown

Breakdown by corpus area

corpus areatestspassingnot yetwrongout of scopepass ratesplit
probe337320160195.2%
bar5454000100.0%

blockers

What blocks the rest

The ten most expensive blockers. Next to each is how many ledger rows it costs — one compiler gap can stop a whole file, so the cost is what matters, not the count of distinct errors.

costreason — the measurement's own wordsblamed
1Compile error: tests/probe/q215_stmt_expr_names_the_refusal.c:8:12: statement expressions are not supported yet: ({ ... }) is a GNU extensioprobe/q215_stmt_expr_names_the_refusal
1Compile error: tests/probe/q220_static_assert_fails.c:9:3: static assertion failedprobe/q220_static_assert_fails
1Compile error: tests/probe/q221_static_assert_unfoldable.c:8:3: _Static_assert needs a constant expressionprobe/q221_static_assert_unfoldable
1Compile error: tests/probe/q237_scanf_refusal.c:8:3: scanf is not supported: formatted reading over a line-crossing stream cannot be honestprobe/q237_scanf_refusal
1Compile error: tests/probe/q238_gets_removed.c:7:3: gets was removed from C in C11; use fgetsprobe/q238_gets_removed
1Compile error: tests/probe/q241_thread_local_param.c:7:25: '_Thread_local' is only allowed on variable declarationsprobe/q241_thread_local_param
1Compile error: tests/probe/q242_thread_local_auto.c:8:21: '_Thread_local' variables must have global storageprobe/q242_thread_local_auto
1Compile error: tests/probe/q243_thread_local_sizeof.c:9:17: expected expressionprobe/q243_thread_local_sizeof
1Compile error: tests/probe/q245_cond_wait_names_the_refusal.c:12:3: C library function 'pthread_cond_wait' is not implemented yetprobe/q245_cond_wait_names_the_refusal
1Compile error: tests/probe/q246_system_no_shell.c:6:25: there is no shell on this target to run the commandprobe/q246_system_no_shell

A further 7 ledger rows are blocked by smaller causes; the full list is in the raw measurement (JSON).