Commit graph

1323 commits

Author SHA1 Message Date
bors
4623d48893 Auto merge of #54764 - tromey:test-rust-lldb, r=alexcrichton
Run debuginfo tests against rust-enabled lldb, when possible

If the rust-enabled lldb was built, then use it when running the
debuginfo tests.  Updating the lldb submodule was necessary as this
needed a way to differentiate the rust-enabled lldb, so I added a line
to the --version output.

This adds compiletest commands to differentiate between the
rust-enabled and non-rust-enabled lldb, as is already done for gdb.  A
new "rust-lldb" header directive is also added, but not used in this
patch; I plan to use it in #54004.

This updates all the tests.
2018-10-10 02:08:23 +00:00
Ralf Jung
db1663d598 update miri 2018-10-09 13:08:00 +02:00
Tom Tromey
ac33b2e578 Run debuginfo tests against rust-enabled lldb, when possible
If the rust-enabled lldb was built, then use it when running the
debuginfo tests.  Updating the lldb submodule was necessary as this
needed a way to differentiate the rust-enabled lldb, so I added a line
to the --version output.

This adds compiletest commands to differentiate between the
rust-enabled and non-rust-enabled lldb, as is already done for gdb.  A
new "rust-lldb" header directive is also added, but not used in this
patch; I plan to use it in #54004.

This updates all the tests.
2018-10-08 11:04:24 -06:00
bors
13429136b8 Auto merge of #54451 - alexcrichton:no-mangle-extern-linkage, r=michaelwoerister
rustc: Allow `#[no_mangle]` anywhere in a crate

This commit updates the compiler to allow the `#[no_mangle]` (and
`#[export_name]` attributes) to be located anywhere within a crate.
These attributes are unconditionally processed, causing the compiler to
always generate an exported symbol with the appropriate name.

After some discussion on #54135 it was found that not a great reason
this hasn't been allowed already, and it seems to match the behavior
that many expect! Previously the compiler would only export a
`#[no_mangle]` symbol if it were *publicly reachable*, meaning that it
itself is `pub` and it's otherwise publicly reachable from the root of
the crate. This new definition is that `#[no_mangle]` *is always
reachable*, no matter where it is in a crate or whether it has `pub` or
not.

This should make it much easier to declare an exported symbol with a
known and unique name, even when it's an internal implementation detail
of the crate itself. Note that these symbols will persist beyond LTO as
well, always making their way to the linker.

Along the way this commit removes the `private_no_mangle_functions` lint
(also for statics) as there's no longer any need to lint these
situations. Furthermore a good number of tests were updated now that
symbol visibility has been changed.

Closes #54135
2018-10-07 03:07:16 +00:00
Alex Crichton
d7d7045374 rustc: Allow #[no_mangle] anywhere in a crate
This commit updates the compiler to allow the `#[no_mangle]` (and
`#[export_name]` attributes) to be located anywhere within a crate.
These attributes are unconditionally processed, causing the compiler to
always generate an exported symbol with the appropriate name.

After some discussion on #54135 it was found that not a great reason
this hasn't been allowed already, and it seems to match the behavior
that many expect! Previously the compiler would only export a
`#[no_mangle]` symbol if it were *publicly reachable*, meaning that it
itself is `pub` and it's otherwise publicly reachable from the root of
the crate. This new definition is that `#[no_mangle]` *is always
reachable*, no matter where it is in a crate or whether it has `pub` or
not.

This should make it much easier to declare an exported symbol with a
known and unique name, even when it's an internal implementation detail
of the crate itself. Note that these symbols will persist beyond LTO as
well, always making their way to the linker.

Along the way this commit removes the `private_no_mangle_functions` lint
(also for statics) as there's no longer any need to lint these
situations. Furthermore a good number of tests were updated now that
symbol visibility has been changed.

Closes #54135
2018-10-06 13:57:30 -07:00
Matthias Krüger
22d37b53af submodules: update clippy to 32b1d1fc15 to fix tests. 2018-10-06 08:39:46 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
54c416d841
Add features to the workspace hack 2018-10-04 12:40:04 +02:00
Manish Goregaokar
c2c8f8a56a Update clippy 2018-10-03 17:12:15 +02:00
Pietro Albini
662f85ea26
Rollup merge of #54648 - alexcrichton:update-cargo, r=nikomatsakis
Update Cargo's submodule

Bring in a few updates and fixes, mostly a standard update.
2018-10-02 22:54:30 +02:00
Manish Goregaokar
b8a67f1477 Update clippy 2018-10-02 11:11:35 +02:00
Ralf Jung
54b303ace4 update miri 2018-09-29 19:43:15 +02:00
kennytm
3861591946
Rollup merge of #54645 - tromey:android-gdb-version, r=alexcrichton
Compute Android gdb version in compiletest

compiletest has special code for running gdb for Android targets.  In
particular it computes a different path to gdb.  However, this gdb is
not used for the version test, which results in some tests being run
when they should not be.  You can see this in #54004.

This patch moves the special case to analyze_gdb and a new helper
function to decide whether the case applies.  This causes the version
check to work properly.

Note that the bulk of the runtest.rs change is just reindentation
caused by moving from a "match" to an "if" -- but there is a (small)
change buried in there.
2018-09-29 16:43:43 +08:00
kennytm
a6d0599a64
Rollup merge of #54567 - tromey:paths-in-stamp-hashes, r=Mark-Simulacrum
Include path in stamp hash for debuginfo tests

The debuginfo tests are exposed to the environment in a couple of
ways: the path to the gdb executable matters, as does the Python path
used when loading lldb.

This patch incorporates these paths into the hash that is written to
the stamp file, so that changing the path will cause the tests to be
re-run.
2018-09-29 13:21:12 +08:00
Alex Crichton
d99e7c2dae Update Cargo's submodule
Bring in a few updates and fixes, mostly a standard update.
2018-09-28 11:28:00 -07:00
Tom Tromey
e545dc9e2c Compute Android gdb version in compiletest
compiletest has special code for running gdb for Android targets.  In
particular it computes a different path to gdb.  However, this gdb is
not used for the version test, which results in some tests being run
when they should not be.  You can see this in #54004.

This patch moves the special case to analyze_gdb and a new helper
function to decide whether the case applies.  This causes the version
check to work properly.

Note that the bulk of the runtest.rs change is just reindentation
caused by moving from a "match" to an "if" -- but there is a (small)
change buried in there.
2018-09-28 10:32:59 -06:00
Igor Matuszewski
632f3b144e Fix RLS toolstate after #54356 merge 2018-09-28 17:48:45 +02:00
bors
c4501a0f1d Auto merge of #52319 - tinco:issue_12590, r=pnkfelix
Track whether module declarations are inline (fixes #12590)

To track whether module declarations are inline I added a field `inline: bool` to `ast::Mod`. The main use case is for pretty to know whether it should render the items associated with the module, but perhaps there are use cases for this information to not be forgotten in the AST.
2018-09-27 09:51:12 +00:00
Matthias Krüger
45f45e53a5 update clippy submodule to a72e786c
Fixes clippy build.
2018-09-26 19:17:11 +02:00
Nick Cameron
90701935b3 Update rustfmt and RLS 2018-09-26 09:46:06 +12:00
Tom Tromey
e6ea19d7bd Include path in stamp hash for debuginfo tests
The debuginfo tests are exposed to the environment in a couple of
ways: the path to the gdb executable matters, as does the Python path
used when loading lldb.

This patch incorporates these paths into the hash that is written to
the stamp file, so that changing the path will cause the tests to be
re-run.
2018-09-25 12:27:09 -06:00
Matthias Krüger
500352f5bc update rls to 32d457717ce37babef199fe4984b1e20d4e108d4 2018-09-23 02:19:57 +02:00
Eduard-Mihai Burtescu
fa2c246384 Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all editions. 2018-09-22 09:26:40 +03:00
bors
c97b60ff3f Auto merge of #54334 - steveklabnik:update-cargo, r=alexcrichton
update cargo

This pulls in https://github.com/rust-lang/cargo/pull/6052, which is needed for the edition preview, and will be backported to beta as well.
2018-09-22 02:18:17 +00:00
Alex Crichton
8ccf112be2 Update Cargo
This commit brings in a few Cargo updates

* Updates Cargo with experimental HTTP/2 support - a post on the forums
  will be made about testing this when available.
* Bumps Cargo's own version number
2018-09-21 10:23:12 -07:00
Felix S. Klock II
23e7e78209 Added comment above Mode::RunPass noting that it now behaves like Mode::Ui. 2018-09-21 16:21:40 +02:00
Felix S. Klock II
1eb8690cf3 Make the // skip-codegen property apply to ui tests too. 2018-09-21 16:21:40 +02:00
Felix S. Klock II
1df6d42fff you can have // compile-pass markers in headers of compile-fail/ tests.
(It seems only `compile-fail-fulldeps/` exercises this functionality,
unfortunately.)
2018-09-21 16:21:39 +02:00
Felix S. Klock II
bae2bf12f6 Similar to above, failed to notice that Mode::Incremental delegates to run_{rpass,rfail,cfail}_test.
(Also, maybe we should revise the names to make it clear that sometimes "cfail" means "cpass"...)
2018-09-21 16:21:39 +02:00
Felix S. Klock II
a66b7d4e9d Mark ParseFail as tests that are not expected to compile.
(I did not notice earlier that `ParseFail` delegates to `fn run_cfail_test`.)
2018-09-21 16:21:38 +02:00
Felix S. Klock II
d28c5bafff Provide way for ui tests to opt out of having their output checked.
Namely, this adds support for:

 * `// dont-check-compiler-stdout`, and
 * `// dont-check-compiler-stderr`.

Obviously almost all ui tests wont want to opt into these, since the whole point
of a ui test is to check the compiler ui. However, since this PR is converting
run-pass into (another set of) ui tests, these header options make sense in that
context.

(Also this puts us into a better position for eventually turning
*every* test suite into a ui test suite, by making ui-ness the default
and forcing tests to opt out explicitly.)
2018-09-21 16:21:37 +02:00
Felix S. Klock II
ae0a53a39b Support // skip-codegen in header of ui tests
(just like how they behaved under previous run-pass semantics)
2018-09-21 16:21:37 +02:00
Felix S. Klock II
ddb1a2afb7 Make src/test/run-pass/ act like an alternative ui test suite. 2018-09-21 16:21:36 +02:00
flip1995
059ab7715c
Update Clippy 2018-09-17 15:37:19 +02:00
Ralf Jung
8d908b5b24 update miri 2018-09-17 09:20:03 +02:00
Eduard-Mihai Burtescu
4529d10636 Update submodules to include rust-lang-nursery/rust-clippy#3189 and rust-lang-nursery/rls#1054. 2018-09-15 22:48:10 +03:00
flip1995
adf4a47210
Update Clippy 2018-09-14 14:00:32 +02:00
Alex Crichton
7a1eed73be Update Cargo
Should bring in some nice progress bars for compilations!
2018-09-13 18:35:17 -07:00
Michael Woerister
3beb762dcf Really make CGU names unique across crates. 2018-09-12 12:46:48 +02:00
Alex Crichton
00e6d54609 Update Cargo submodule
Bring in a few last-minute updates before the 1.30.0 release
2018-09-10 16:40:57 -07:00
Tinco Andringa
518bcffa31 refactor so that it's no longer possible to call print_source incorrectly 2018-09-10 12:33:39 +02:00
Tinco Andringa
ca901a187c dont pass in src if we are not reading from stdin in compiletest 2018-09-10 12:33:39 +02:00
Felix S. Klock II
e4f47f43a6 Update compiletest so that the pretty tests only read from stdin when they *have* to.
This allows us to test expansion of files that use `mod foo;` syntax.
2018-09-10 12:33:38 +02:00
Eduard-Mihai Burtescu
0a33de04cf rustc_resolve: inject uniform_paths canaries regardless of the feature-gate, on Rust 2018. 2018-09-10 11:48:46 +03:00
Matthias Krüger
3387f80ce3 submodules: update clippy, rls with crate visibility patches, also update cargo 2018-09-09 03:00:00 +02:00
kennytm
87fbf54413
Rollup merge of #54023 - matthiaskrgr:clippy, r=oli-obk
update clippy submodule

updates to cafef7b576
2018-09-07 18:14:28 +08:00
kennytm
d2a0f98159
Rollup merge of #53895 - joshtriplett:tidy-tidy, r=nikomatsakis
tidy: Cleanups and clippy warning fixes

This eliminates various clippy warnings in the tidy tool, as well as
making some related cleanups. These changes should not introduce any
functional differences.
2018-09-07 15:26:51 +08:00
Matthias Krüger
10e7b76dfc update clippy submodule
updates to cafef7b576
2018-09-07 09:18:03 +02:00
bors
780b0c7bbf Auto merge of #53951 - tromey:restore-lldb-build, r=alexcrichton
Restore lldb build

commit 6c10142251 ("Update LLVM submodule") disabled the lldb build.
This patch updates the lldb and clang submodules to once again build
against the LLVM that is included in the Rust tree, and reverts the
.travis.yml changes from that patch.
2018-09-05 18:11:27 +00:00
Tom Tromey
7bb30ff0d9 Pick up State.h include path change 2018-09-05 10:37:05 -06:00
Mark Rousskov
9ec5ef541a Breaking change upgrades 2018-09-04 13:22:08 -06:00