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
- Authority
languages/C/tests/corpus/manifest.tsv- Arbiter
- this machine's clang (
-std=c17 -w), row by row in theoraclecolumn; every row is compared byte for byte against a native reference - Unit
- ledger row
- Measured
- 2026-10-11 05:39
- Raw data
- raw measurement (JSON)
breakdown
Breakdown by corpus area
| corpus area | tests | passing | not yet | wrong | out of scope | pass rate | split |
|---|---|---|---|---|---|---|---|
| probe | 337 | 320 | 16 | 0 | 1 | 95.2% | |
| bar | 54 | 54 | 0 | 0 | 0 | 100.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.
| cost | reason — the measurement's own words | blamed |
|---|---|---|
| 1 | Compile error: tests/probe/q215_stmt_expr_names_the_refusal.c:8:12: statement expressions are not supported yet: ({ ... }) is a GNU extensio | probe/q215_stmt_expr_names_the_refusal |
| 1 | Compile error: tests/probe/q220_static_assert_fails.c:9:3: static assertion failed | probe/q220_static_assert_fails |
| 1 | Compile error: tests/probe/q221_static_assert_unfoldable.c:8:3: _Static_assert needs a constant expression | probe/q221_static_assert_unfoldable |
| 1 | Compile error: tests/probe/q237_scanf_refusal.c:8:3: scanf is not supported: formatted reading over a line-crossing stream cannot be honest | probe/q237_scanf_refusal |
| 1 | Compile error: tests/probe/q238_gets_removed.c:7:3: gets was removed from C in C11; use fgets | probe/q238_gets_removed |
| 1 | Compile error: tests/probe/q241_thread_local_param.c:7:25: '_Thread_local' is only allowed on variable declarations | probe/q241_thread_local_param |
| 1 | Compile error: tests/probe/q242_thread_local_auto.c:8:21: '_Thread_local' variables must have global storage | probe/q242_thread_local_auto |
| 1 | Compile error: tests/probe/q243_thread_local_sizeof.c:9:17: expected expression | probe/q243_thread_local_sizeof |
| 1 | Compile error: tests/probe/q245_cond_wait_names_the_refusal.c:12:3: C library function 'pthread_cond_wait' is not implemented yet | probe/q245_cond_wait_names_the_refusal |
| 1 | Compile error: tests/probe/q246_system_no_shell.c:6:25: there is no shell on this target to run the command | probe/q246_system_no_shell |
A further 7 ledger rows are blocked by smaller causes; the full list is in the raw measurement (JSON).