CompCert icon indicating copy to clipboard operation
CompCert copied to clipboard

The CompCert formally-verified C compiler

Results 64 CompCert issues
Sort by recently updated
recently updated
newest added

This is a small clean up that removes the already rare uses of the proof irrelevance axiom.

These changes introduce a more structured namespace for memory blocks: a block id can either be a global `ident` (new), or a dynamically allocated `positive` (as before). Using this approach,...

The main reason for the patches in this branch is to strengthen the `Locmap.gss_reg` lemma, which used to claim that any value can be written to and recovered from any...

Since `PrintCsyntax` is dual-licensed, I expected it could be used in a GPL project. But according to `tools/modorder .depend.extr cfrontend/PrintCsyntax.cmx` (using opam `coq-compcert` v3.8 package, in case it matters), it...

Certain targets (ARM…) are are available as several sub-targets with different instruction sets. CompCert, when calling gcc as preprocessor, should pass the appropriate `-march=` option (*). Maybe there should be...

enhancement

C11 defines the `_Thread_local` keyword, and GCC has long had the `__thread` modifier. They define data to reside in the _thread-local storage_. Basically, if `x` is thread-local, then it behaves...

enhancement

In the case of a struct passing using `SP_split_args`, this code of `cparser/StructPassing.ml` is actually misleading ```ocaml let classify_param env ty = if is_composite_type env ty then begin match !struct_passing_style...

I ran into an issue recently in which CompCert could not compile a `struct` with bit-field members of type `long`. It was straightforward to find where this restriction was enforced,...

enhancement

Example code: ```c #include struct int_def { const char *s; const int ints[]; }; static const struct int_def my_ints = { .s = "my ints", .ints = {0, 3, 7,...

enhancement

Bit-field initialization via `-fbitfields` emulation leads to undefined behavior in most cases. It would be nice to be able to do it without having to resort to a static-storage variable....

enhancement