Skip to content

Commit 91c5e87

Browse files
committed
Update Changelog
1 parent c27ebe5 commit 91c5e87

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Changelog.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
# Release 3.16
2+
3+
Code generation and optimization:
4+
- Extend neededness analysis to 64-bit integer operations, enabling more useless integer computations to be removed.
5+
- Extend common subexpression elimination (CSE) and dead code elimination to calls to known pure built-in functions and to known pure arithmetic helper functions.
6+
- Generation of position-independent code (PIC) for AArch64, RISC-V and x86-64 (option `-fpic`) (#551)
7+
- Generation of position-independent executables (PIE) for AArch64, RISC-V and x86-64 (option `-fpie`) (#551)
8+
- RISC-V: use PC-relative addressing instead of absolute addressing where possible (#550)
9+
- PowerPC and x86/ELF: put jump tables in `.rodata` section instead of `.text` section (#508)
10+
11+
Bug fixes:
12+
- Reject identifiers consisting of a single `$` sign. This can cause errors with some assemblers, and is not ISO C.
13+
- Remove syntactic support for `[*]` array declarators, which was introduced in 3.15 (#539). They are usable only with variable-length arrays, which CompCert doesn't support.
14+
- Check that `[static <size>]` declarators occur only in function prototypes and only in outermost position, as prescribed by ISO C.
15+
- Fix corner case of designated initializers involving union with anonymous members.
16+
- Fix wrong lexing of `#pragma` directives that immediately follow a `//` single-line comment. (Affects only non-preprocessed `.i` input files; preprocessed `.c` files are not affected.)
17+
18+
Usability:
19+
- Added warning `dollar-in-identifier-extension` for identifiers that contain `$` signs. (This is not ISO C, just a popular extension.)
20+
- Revised handling of unknown warnings: `-W<unknown warning>` is now a warning instead of an error; `-Wno-<unknown warning>` is silently ignored (#554).
21+
- Added warning `unknown-warning-option`, so that warnings about unknown warnings can be ignored (`-Wno-unknown-warning-option`) or turned into an error (`-Werror=unknown-warning-option`) (#554).
22+
- Recognize option `-shared` and pass it to the linker.
23+
- Recognize options `-pie` and `-no-pie` and pass them to the linker.
24+
- Recognize options `-MD` and `-MMD` and pass them to the preprocessor.
25+
- On BSD platforms, use `cc` instead of `gcc` as the default preprocessor and linker.
26+
27+
Rocq/Coq development:
28+
- Support Coq 8.21 (#545)
29+
- Support Rocq 9.0 (using the `coq` compatibility command) (#547)
30+
- Earliest version supported is now Coq 8.15.
31+
- Updated vendored Flocq to version 4.2.1
32+
133
# Release 3.15, 2024-12-13
234

335
C language support:

0 commit comments

Comments
 (0)