• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rieske / trans
94%

Build:
DEFAULT BRANCH: master
Repo Added 08 Jan 2015 03:59PM UTC
Files 273
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • ast/binary-op-does-not-fold
  • ast/block-item
  • ast/drop-nodekind
  • ast/expr-kind-fold-and-calls
  • ast/expression-as-init-list
  • ast/for-init
  • ast/function-body-block
  • ast/node-kind-no-rtti
  • ast/statement-base
  • ast/statement-stack
  • ast/terminal-symbol-lexeme
  • ast/translation-unit-sum
  • build/cmake-idiomatic
  • build/coverage-ci-only
  • build/modernize/1
  • ci/ccache
  • ci/coveralls-retry
  • cleanup/unused-wrappers
  • diag/csnb-no-throw
  • diag/lex-record-sink
  • driver/default-att
  • driver/inline-component-factory
  • driver/opt-level
  • feat/array-redecl-composite
  • feat/array-value-decay
  • feat/asm-symbol
  • feat/att-backend
  • feat/automatic-array-init-decay
  • feat/bit-fields
  • feat/builtin-bswap
  • feat/c23-bool
  • feat/c99-compound-literals
  • feat/cc-driver-argv-walker
  • feat/char-array-string-init
  • feat/char-escapes
  • feat/complex-types
  • feat/compound-literals-gnu-complex
  • feat/const-volatile-struct-members
  • feat/core-unsigned-ops
  • feat/driver-c-o
  • feat/driver-ignore-cflags
  • feat/driver-link-passthrough
  • feat/driver-preprocess-passthrough
  • feat/driver-stages-temps
  • feat/drop-intermediate-logging
  • feat/drop-syntax-tree-dump
  • feat/else-if-unmatched
  • feat/expression-statements
  • feat/file-scope-object-redecl
  • feat/flexible-array-member
  • feat/float-sse-sysv
  • feat/float32-sse
  • feat/function-scope-static
  • feat/gcc-e-token-filter
  • feat/gcc-header-dependency-flags
  • feat/generic-selection
  • feat/gnu-builtin-constant-p
  • feat/gnu-builtin-ctz-alloca
  • feat/gnu-iso-dialect
  • feat/header-language-surface
  • feat/incomplete-extern-objects
  • feat/int128-arith
  • feat/int128-filter-unknown-token
  • feat/int128-literals
  • feat/int128-muldiv
  • feat/int128-shift
  • feat/int128-sysv-abi
  • feat/int128-widen-narrow
  • feat/integer-default-arg-promotions
  • feat/long-double
  • feat/long-double-arith
  • feat/mix-and-linkage-diag
  • feat/multi-tu
  • feat/multi-tu-driver-sources
  • feat/multilevel-pointers
  • feat/mutual-recursion
  • feat/narrow-integer-gpr-extend
  • feat/noreturn-function-specifier
  • feat/null-fnptr-param-adjust
  • feat/object-alignment
  • feat/offsetof
  • feat/param-vla-array-decay
  • feat/pie-executables
  • feat/pin-c-language-gaps
  • feat/preprocess-stdio
  • feat/real-increment
  • feat/restrict-in-array-brackets
  • feat/static-init-address
  • feat/static-init-address-as-integer
  • feat/static-init-address-constants
  • feat/static-init-wide-integer
  • feat/string-pool-bytes
  • feat/struct-object-result
  • feat/sysv-aggregate-abi
  • feat/sysv-eightbyte-classifier
  • feat/sysv-integer-return-serial
  • feat/type-assign-conversions
  • feat/typed-integer-constants
  • feat/typeof-expression-nodes
  • feat/typeof-member-arith
  • feat/typeof-parse-time-expressions
  • feat/typeof-specifier
  • feat/types-compatible-p
  • feat/variadic-ellipsis
  • feat/wide-integer-asm-immediates
  • feat/x87-st0-and-stack-align
  • feature/address-base-mode
  • feature/array-decay-multidim
  • feature/array-index-mw
  • feature/callplan-variant
  • feature/do-while
  • feature/file-scope-compound-literals
  • feature/file-scope-globals
  • feature/finish-for-git
  • feature/function-pointers
  • feature/goto-labels
  • feature/grammar-block-item-const-exp
  • feature/initializers
  • feature/recursive-type-sizeof
  • feature/result-on-store
  • feature/scanner-c-tokens
  • feature/struct-member-access
  • feature/structs
  • feature/structs-member-access
  • feature/switch-case
  • feature/ternary-conditional-exp
  • feature/type-casts
  • feature/vla-objects
  • feature/vla-pointer-stride
  • feature/vm-types-runtime-sizeof
  • fix-readme-build-badge
  • fix/address-of-subscript
  • fix/aggregate-zero-representation
  • fix/archive-is-linker-input
  • fix/block-scope-extern-and-enumerator-scoping
  • fix/block-scope-shadowing
  • fix/call-stack-alignment-and-variadic-al
  • fix/dereference-lvalue-store-back
  • fix/enum-large-underlying-type
  • fix/for-optional-clauses
  • fix/function-designator-typeops
  • fix/function-returning-fnptr-params
  • fix/fuzz-signed-div-pointer-arith
  • fix/gnu-packed-record-layout
  • fix/int128-non-first-member
  • fix/integer-memory-width
  • fix/integer-promotions-shift-unary
  • fix/integer-zero-pointer-width
  • fix/no-internal-errors-after-a-diagnostic
  • fix/pointer-compound-assign-subscript
  • fix/postfix-pre-operation-temporary
  • fix/record-member-sizeof-ice
  • fix/reject-initializers-that-bind-no-object
  • fix/required-annotations-fail-in-release
  • fix/resources-from-exe
  • fix/reuse-multiword-temp-stack-slots
  • fix/reuse-temp-stack-slots
  • fix/sign-extend-pointer-index
  • fix/silent-front-end-failures
  • fix/sizeof-designator-static-float
  • fix/stale-register-after-pointer-store
  • fix/uint32-alu-width
  • fix/unary-operand-double-visit
  • fix/variadic-array-decay
  • fix/void-parameter-list-unary-lvalue-dedup
  • fuzz/backend
  • grammar-cleanup
  • grammar/drop-const-exp-inline-operators
  • harden/p0-process-exit-ownership
  • ir/add-frame-temp
  • ir/cfg-container
  • ir/opcode-contract
  • l5-diag-sink-parse-csnb-io
  • l7-object-type-name-table
  • lang/fam-brace-init
  • lang/fam-string-init
  • opt/copy-propagate
  • opt/eliminate-dead-temps
  • opt/fold-compares
  • opt/fold-constants
  • opt/thread-jumps
  • opt/widen-dead-temps
  • optimize-parser-v1
  • optimize-parser-v2
  • parser-cleanup
  • parser/drop-parser-base
  • parser/drop-syntax-tree-product
  • perf/bake-product-parsing-table
  • perf/index-ast-creators-by-production-id
  • perf/ir-intern-ids
  • perf/parse-token-symbol-id
  • perf/parser/1-lookahead-model
  • perf/parser/2-automaton
  • perf/parser/3-action-table
  • perf/parser/4-tests-cleanup
  • perf/process-frontend-cache
  • perf/skip-gcc-e-when-unneeded
  • perf/sparse-parsing-table
  • perf/token-kind-span
  • performance/experimental-parser-generator-optimization
  • phase0/01-recursive-type
  • phase0/02-type-policy
  • phase0/03-object-abi
  • phase0/04-symbols-leaf
  • phase0/05-annotation-migration
  • phase0/06-package-graph
  • phase1/01-integer-type-specs
  • phase1/02-unions
  • phase1/03-forward-decl
  • phase1/04-anonymous-members
  • phase1/05-nested-init
  • phase1/06-designated-init
  • phase2/01-lexical-session
  • phase2/02-lex-id-context
  • phase2/03-parse-environment
  • phase2/04-enums
  • phase2/05-typedef
  • phase2/06-scanner-filters
  • refactor-fold-if-return
  • refactor-operator-enums
  • refactor-types
  • refactor/codegen-address-homes
  • refactor/codegen-address-phase1
  • refactor/consume-tokens-by-move
  • refactor/drop-leftover-includes
  • refactor/drop-operator-ast-node
  • refactor/drop-parsetree-and-unused-apis
  • refactor/drop-sa-reexport-headers
  • refactor/drop-unused-component-includes
  • refactor/drop-unused-product-code
  • refactor/ir-as-data
  • refactor/one-record-per-open-function
  • refactor/remove-unused-apis
  • refactor/remove-unused-includes
  • refactor/src-to-c-suffix
  • refactor/sysv-arg-sequence
  • refactor/visit-children-default
  • renovate/actions-cache-4.x
  • renovate/actions-cache-6.x
  • renovate/actions-checkout-3.x
  • renovate/actions-checkout-4.x
  • renovate/actions-checkout-7.x
  • renovate/actions-checkout-digest
  • renovate/configure
  • renovate/coverallsapp-github-action-1.x
  • renovate/coverallsapp-github-action-2.x
  • sa/find-no-throw
  • sa/function-frame-store
  • sa/import-enums-from-session
  • sa/one-function-value
  • sa/rodata-sizeof-store
  • sa/session-enum-facade
  • sa/source-name-keys
  • scan/dfa-interpreter-overhead
  • scanner/c-scoped-enumerators
  • scanner/c-scoped-typedefs
  • scanner/is-typedef-facade
  • scanner/parse-type-table
  • scanner/rename-typedef-api
  • test/decouple-harness-from-build-location
  • test/fix-semantic-error-source-indent
  • test/functional-coverage-gaps
  • test/git-shaped-define-args
  • test/ir-dump-from-c
  • test/local-shadows-function-name
  • test/pin-enum-vla-typedef-diagnostics
  • test/pin-l5-error-arms
  • test/pin-remaining-ir-opcode-dumps
  • test/pin-symbol-table-scope-keys
  • test/sysv-abi-interop-restructure
  • test/sysv-arg-pressure
  • test/sysv-layout-aggregates
  • test/sysv-return-pressure
  • test/sysv-stack-align
  • test/sysv-va-pressure
  • test/tier-a-c-coverage-gaps
  • tests/fuzz
  • tests/parallel-functional
  • types/detach-vla-bound-from-ast
  • types/share-function-payload
  • types/share-member-payload
  • update-readme
  • util/diagnostic-sink

pending completion
34136371682

push

github

web-flow
fix: internal codegen invariants fail in release builds too (#305)

assert is compiled out by NDEBUG, which is the default build type, so
invariants that code generation relies on were unchecked in the build
people actually ship. This is the divergence that hid the Result
annotation bug, where the assert was the only thing between a missing
annotation and dereferencing nullptr.

Nine sites asserted a pointer and then dereferenced it: the declarator
holder, IndexPlan, FieldPlan, the member base symbol, the string literal
rodata label, the postfix PreOperation, the enclosing procedure of a
scratch value, the assigned register, and the operator behind a lexeme.
In a release build a missing one was a null dereference rather than a
diagnosable failure.

Five more asserted and then continued, which is worse than a crash
because it emits wrong assembly and says nothing. Address::frameBase and
offsetBytes answered for a global home with the stack pointer and zero,
so a global reached memoryOperandAt as a frame slot; label() answered for
a frame slot with an empty symbol; and a duplicate frame home
registration was dropped, leaving the value bound to the first home.

All fourteen now raise an internal compiler error in every build type,
matching the guards used for the parse stack, the Result annotation and
the open function scope.

The remaining asserts are left alone: they guard states whose dereference
already routes through a throwing accessor, or that throw of their own
accord.

15851 of 16787 relevant lines covered (94.42%)

153168.45 hits per line

Relevant lines Covered
Build:
Build:
16787 RELEVANT LINES 15851 COVERED LINES
153168.45 HITS PER LINE
Source Files on master
  • Tree
  • List 273
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
34136371682 master fix: internal codegen invariants fail in release builds too (#305) assert is compiled out by NDEBUG, which is the default build type, so invariants that code generation relies on were unchecked in the build people actually ship. This is the diver... push 07 Sep 2026 03:10PM UTC web-flow github pending completion  
34134791737 master refactor: fold IfElse and VoidReturn into optional children (#304) IfStatement takes an optional else body (null means no else). ReturnStatement takes an optional expression (null is return;). IfElseStatement and VoidReturnStatement are gone. SA ... push 07 Sep 2026 02:52PM UTC web-flow github
94.47
34132856671 master fix: block-scope extern and enumerator declarations follow C scoping (#303) Five conformance gaps with one theme: a declaration inside a block was treated as if it owned the file-scope entity, and enumerators were checked against ordinary identif... push 07 Sep 2026 02:34PM UTC web-flow github
94.49
34131825391 master refactor: consume tokens by move instead of copying them (#302) Token takes owned strings. The automaton hands the accumulated token and lexeme out by move; Scanner builds the Token. TokenStream classifies in place, and consume() is the one owned... push 07 Sep 2026 02:20PM UTC web-flow github
94.47
34129927830 master refactor: parse operators once into typed enums (#301) Store a closed op type on each expression node instead of the token lexeme. CSNB parses the terminal once; SA, codegen, and integer fold switch on the enum. UnaryOp is + - ! ~ * & sizeof. ++... push 07 Sep 2026 02:00PM UTC web-flow github
94.47
34126608172 master fix: postfix pre-operation slot is a temporary, not a declaration (#300) Naming the slot `<operand>_pre` and inserting it put a compiler temporary in the user identifier namespace. insertSymbol reports a collision through a bool return that was i... push 07 Sep 2026 01:22PM UTC web-flow github
94.42
34125286548 master refactor: one record for the open function scope (#299) SymbolTable kept two members encoding the same fact: functionScopes, a vector that could never exceed size 1 because C has no nested function definitions, and scopeIdStack, the block nesting... push 07 Sep 2026 01:09PM UTC web-flow github
94.42
34118940464 master fix: stop internal errors following a semantic diagnostic (#298) A static initializer whose operand failed analysis printed the real diagnostic and then an internal one: int x = nosuch; -> error: symbol `nosuch` is not defined Err... push 07 Sep 2026 11:58AM UTC web-flow github
94.42
34116200815 master fix: reject declarations that reach code generation with nothing to bind (#297) Two constructs passed semantic analysis and failed later, one of them by crashing. A function declarator carrying an initializer was accepted, then hit CodeGeneratin... push 07 Sep 2026 11:26AM UTC web-flow github
94.42
34111469960 master fix: spill registers before a store through a pointer (#296) A store through a pointer can reach any object whose address escaped, but lvalueAssign emitted the store and left the register file alone. A value read into a register before the store ... push 07 Sep 2026 10:30AM UTC web-flow github
94.41
See All Builds (1233)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc