Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Commit d2aa1e3

Browse files
jyn514Joshua Nelson
authored andcommitted
Update changelog
1 parent 0fb6c8d commit d2aa1e3

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,51 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
## [0.7.0] - 2020-03-06
7+
8+
### Added
9+
10+
- rcc now has a Just-In-Time compiler (JIT)!
11+
This feature is turned off by default as it adds a dependency on `cranelift-simplejit`.
12+
To use it, add `features = ["jit"]` to your `Cargo.toml`.
13+
As a side effect, rcc now has proper benchmarks using in-memory compilation to avoid noise from IO.
14+
A giant thank you to @playx for implementing this!
15+
16+
- The `-I` flag has been implemented. No more will you have to play silly games with symbolic links!
17+
(See `--help` for a full description)
18+
19+
- There is now a `.github/report-issue.sh` script in case you report issues a lot.
20+
See `CONTRIBUTING.md` for more details as well as how to use it.
21+
22+
### Changed
23+
24+
- The long-neglected README has been updated to reflect the currently implemented features and TODOs.
25+
26+
### Fixed
27+
28+
- rcc no longer crashes on structs where the size without padding is not a multiple of the alignment
29+
([#278](https://github.com/jyn514/rcc/issues/278). Thanks to @repnop for fixing this!
30+
- rcc no longer crashes on many unary operators in a row ([#329](https://github.com/jyn514/rcc/pull/329))
31+
- The README proclaims support for 1.37, but the preprocessor in 0.6 used features from 1.40.
32+
This release rewrote those changes in a way that's backwards-compatible with 1.37.
33+
Merges to master have now been gated on the 1.37 build succeeding to avoid accidents like this in the future.
34+
- More cycle detection has been implemented ([#293](https://github.com/jyn514/rcc/issues/298)).
35+
For example, the following code no longer goes into an infinite loop:
36+
37+
```c
38+
// from real code in <signal.h> !!
39+
#define sa_handler __sa_handler.sa_handler
40+
#define sa_sigaction __sa_handler.sa_sigaction
41+
int main() {
42+
struct sigaction handler;
43+
handler.sa_handler = 0;
44+
}
45+
```
46+
47+
However, function macros which expand to themselves will still loop forever ([#312](https://github.com/jyn514/rcc/issues/312)).
48+
49+
- `*p;` now gives a warning that the type of `p` defaults to `int *`. Thank you to @repnop for implementing this.
50+
651
## [0.6.0] - 2020-02-25
752
853
### Added

0 commit comments

Comments
 (0)