Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roll to nightly 2019-09-... #165

Merged
merged 49 commits into from
Oct 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e084c5c
Pull rustc libsyntax pretty-printer out into a separate crate
rinon Sep 23, 2019
551a182
Initial changes for nightly roll
rinon Aug 19, 2019
08e91ce
Update transpiler for nightly-2019-09-23
rinon Sep 23, 2019
ac03f22
Update refactorer to nightly-2019-09-23
rinon Sep 23, 2019
3d82fe8
Fix rustc version in scripts
rinon Sep 24, 2019
95dce18
Fix macro collapsing potentially running off the end of the item list
rinon Sep 24, 2019
73d1c5c
Add "arg" as an alias for "param" in the filtering syntax
rinon Sep 24, 2019
3be157f
Fix compiler interface for new nightly
rinon Sep 24, 2019
9f90d44
Fix test output
rinon Sep 24, 2019
484fc22
Revert logging back to directly invoking env_logger
rinon Sep 24, 2019
ab52c9e
Use Span::from_expansion
rinon Sep 24, 2019
2967b39
Update lua script to new visitor API
rinon Sep 26, 2019
b9d6000
Use param_to_string again now that it handled param attributes
rinon Sep 26, 2019
4d96e65
Update Node IDs for new compiler version
rinon Sep 26, 2019
d486304
Fix format! macro spans for correct collapsing.
rinon Sep 26, 2019
3e99e8d
Use the new rustfmt now that it supports param attributes
rinon Sep 26, 2019
6b51e1e
Bump to nightly-2019-09-30 to get d9168e4c into upstream
rinon Oct 1, 2019
1f71282
Update c2rust-ast-builder with new AST field names
rinon Oct 1, 2019
c34dd98
Rename `Expr.node` to `Expr.kind`
varkor Sep 26, 2019
fc8069c
Rename `Pat.node` to `Pat.kind`
varkor Sep 26, 2019
252addb
Rename `ImplItem.node` to `ImplItem.kind`
varkor Sep 26, 2019
a944e3a
Rename `TraitItem.node` to `TraitItem.kind`
varkor Sep 26, 2019
886be91
Rename `Ty.node` to `Ty.kind`
varkor Sep 26, 2019
54867c7
Rename `Stmt.node` to `Stmt.kind`
varkor Sep 26, 2019
3f2683b
Rename `Item.node` to `Item.kind`
varkor Sep 26, 2019
362e66f
Rename `ForeignItem.node` to `ForeignItem.kind`
varkor Sep 26, 2019
ef0422a
Rename `MetaItem.node` to `MetaItem.kind`
varkor Sep 26, 2019
0694357
Filter out stmts made for the redundant_semicolon lint when pretty-pr…
nathanwhit Sep 12, 2019
fdd6045
syntax: don't keep a redundant c_variadic flag in the AST.
eddyb Aug 10, 2019
1e2eb8c
Rename `Expr.node` to `Expr.kind`
rinon Oct 1, 2019
0205050
Rename `*.node` to `*.kind` in c2rust-transpile
rinon Oct 1, 2019
b90da23
Remove codegen_channel query from compiler interface
rinon Oct 1, 2019
2f9a549
Rename `*.node` to `*.kind` in c2rust-refactor
rinon Oct 1, 2019
826bd04
Update nightly compiler version in scripts
rinon Oct 1, 2019
e9dac14
Ty FnSigs no longer have the variadic param
rinon Oct 1, 2019
7f8017a
Update AST field names for cross-checking
rinon Oct 3, 2019
0a82ae2
Update to 2019-10-04
rinon Oct 7, 2019
d293c2c
Fix c2rust-ast-builder for new Attribute item fields
rinon Oct 7, 2019
7a1231e
Fix ast.txt for new Attribute item fields
rinon Oct 7, 2019
e1a328f
syntax: Support modern attribute syntax in the `meta` matcher
petrochenkov Aug 17, 2019
f10f8c1
Use rustc_index::vec instead of rustc_data_structures::indexed_vec
rinon Oct 7, 2019
bc29cfa
Fix c2rust-refactor for new Attribute item fields
rinon Oct 7, 2019
acdad50
Update ident API usage in cross checking instrumentation
rinon Oct 7, 2019
fa537b9
Bump version numbers everywhere to nightly-2019-10-04
rinon Oct 8, 2019
4fff66d
Update cross-checks for new rust nightly
rinon Oct 15, 2019
78c5717
Replace #[cross_check] structure attribute with #[cross_check_hash] d…
ahomescu Oct 15, 2019
735bf69
Move rustc-plugin tests into inner module with module-level outer cro…
ahomescu Oct 15, 2019
3c3a894
Move cross_check attribute to module and function level in fibo test
ahomescu Oct 15, 2019
8c47c1c
Update Cargo.lock for tests/fibo in cross-check tests
ahomescu Oct 15, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 64 additions & 33 deletions Cargo.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ members = [
"c2rust-refactor",
"c2rust-ast-builder",
"c2rust-ast-exporter",
"c2rust-ast-printer",
"manual/preprocessors",
"c2rust-bitfields",
"c2rust-macros",
Expand Down
5 changes: 5 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ Redistribution and use in source and binary forms, with or without modification,
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Portions of C2Rust are derived from packages written by third parties. The following third party packages are included, and carry their own copyright notices and license terms:

* c2rust-ast-printer. Dual-licensed under Apache 2.0 and MIT, see c2rust-ast-printer/COPYRIGHT for details.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[azure]: https://dev.azure.com/immunant/c2rust/_build/latest?definitionId=1&branchName=master
[Latest Version]: https://img.shields.io/crates/v/c2rust.svg
[crates.io]: https://crates.io/crates/c2rust
[Rustc Version]: https://img.shields.io/badge/rustc-nightly--2019--06--22-lightgrey.svg "Rustc nightly-2019-06-22"
[Rustc Version]: https://img.shields.io/badge/rustc-nightly--2019--10--04-lightgrey.svg "Rustc nightly-2019-10-04"

C2Rust helps you migrate C99-compliant code to Rust. The [translator](c2rust-transpile) (or transpiler) produces unsafe Rust code that closely mirrors the input C code. The primary goal of the translator is to preserve functionality; test suites should continue to pass after translation. Generating safe and idiomatic Rust code from C ultimately requires manual effort. However, we are building a scriptable [refactoring tool](c2rust-refactor) that reduces the tedium of doing so. You can also [cross-check](cross-checks) the translated code against the original ([tutorial](docs/cross-check-tutorial.md)).

Expand Down Expand Up @@ -51,22 +51,22 @@ Finally, a rust installation with [Rustup](https://rustup.rs/) is required on al

### Installing from crates.io

cargo +nightly-2019-06-22 install c2rust
cargo +nightly-2019-10-04 install c2rust

On OS X with Homebrew LLVM, you need to point the build system at the LLVM installation as follows:

LLVM_CONFIG_PATH=/usr/local/opt/llvm/bin/llvm-config cargo +nightly-2019-06-22 install c2rust
LLVM_CONFIG_PATH=/usr/local/opt/llvm/bin/llvm-config cargo +nightly-2019-10-04 install c2rust

On Linux with Linuxbrew LLVM, you need to point the build system at the LLVM installation as follows:

LLVM_CONFIG_PATH=/home/linuxbrew/.linuxbrew/opt/llvm/bin/llvm-config cargo +nightly-2019-06-22 install c2rust
LLVM_CONFIG_PATH=/home/linuxbrew/.linuxbrew/opt/llvm/bin/llvm-config cargo +nightly-2019-10-04 install c2rust

Note: adjust `LLVM_CONFIG_PATH` accordingly if Linuxbrew was installed to your home directory.

On Gentoo, you need to point the build system to the location of `libclang.so`
and `llvm-config` as follows:

LLVM_CONFIG_PATH=/path/to/llvm-config LIBCLANG_PATH=/path/to/libclang.so cargo +nightly-2019-06-22 install c2rust
LLVM_CONFIG_PATH=/path/to/llvm-config LIBCLANG_PATH=/path/to/libclang.so cargo +nightly-2019-10-04 install c2rust


If you have trouble with building and installing, or want to build from the latest master, the [developer docs](docs/README-developers.md#building-with-system-llvm-libraries) provide more details on the build system.
Expand All @@ -76,7 +76,7 @@ If you have trouble with building and installing, or want to build from the late
If you'd like to check our recently developed features or you urgently require a bugfixed version of c2rust
you can install it directly from Git:

cargo +nightly-2019-06-22 install --git https://github.com/immunant/c2rust.git c2rust
cargo +nightly-2019-10-04 install --git https://github.com/immunant/c2rust.git c2rust

Please note that the master branch is under constant development and you may expirience issues or crashes.

Expand Down
Loading