Commit Graph

57624 Commits

Author SHA1 Message Date
Jeffrey Seyfried
72544afd71 Record macro import site spans. 2016-10-02 06:07:49 +00:00
Jeffrey Seyfried
1817ca4686 Refactor out resolve_macro_name. 2016-10-02 06:07:20 +00:00
Jeffrey Seyfried
2df4f2a126 Add field backtrace: SyntaxContext to ExpansionData. 2016-10-02 06:07:08 +00:00
Jeffrey Seyfried
c9f81190f2 Refactor ext::base::Resolver::add_ext to only define macros in the crate root. 2016-10-02 06:02:47 +00:00
Gavin Baker
99aae9b834 Improve error message and snippet for "did you mean x"
- Fixes #36164
- Part of #35233
- handles unknown fields
- uses UI-style tests
- update all related tests (cfail, ui, incremental)
2016-10-02 15:57:39 +11:00
Jeffrey Seyfried
797eb57aa8 Refactor field expansion_data of Resolver to use a Mark instead of a u32. 2016-10-02 04:25:31 +00:00
Jeffrey Seyfried
5c2d76d23e Add struct macros::NameBinding. 2016-10-02 04:25:27 +00:00
bors
7b33876fcc Auto merge of #36840 - eulerdisk:incr_test_for_hash_enum, r=michaelwoerister
Test Case for Incr. Comp. Hash for enums #36674.

Fixes #36674
Part of #36350

r? @michaelwoerister
2016-10-01 20:34:34 -07:00
Oliver Middleton
06a7dcd355 std: Correct stability attributes for some implementations
These are displayed by rustdoc so should be correct.
2016-10-01 23:58:14 +01:00
bors
de901573b3 Auto merge of #36828 - pnkfelix:update-compiler-rt, r=dotdash
Update src/compiler-rt to incoporate fix for UB in floatsidf.

Update src/compiler-rt to incoporate fix for UB in floatsidf.

Fix #36518
2016-10-01 14:53:04 -07:00
Brian Anderson
0fb8379ed8 std: Remove plattform-specific code from os_str 2016-10-01 19:33:02 +00:00
Brian Anderson
d311079a6f std: Move platform specific stdio code into sys 2016-10-01 19:33:02 +00:00
Brian Anderson
fea1bd4cdf std: Move platform specific memchr code into sys 2016-10-01 19:33:02 +00:00
Brian Anderson
5c21562302 std: Move platform specific env code into sys 2016-10-01 19:32:59 +00:00
Brian Anderson
e6457bb676 std: Move platform specific path code into sys 2016-10-01 19:28:17 +00:00
bors
ab38d52df7 Auto merge of #36885 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #36865, #36872, #36873, #36877, #36880, #36882
- Failed merges:
2016-10-01 10:17:20 -07:00
bors
df9fa1a51e Auto merge of #36857 - Manishearth:syntax-rollup, r=Manishearth
Syntax breaking batch

None
2016-10-01 06:59:09 -07:00
Manish Goregaokar
406fe7e3c2 Rollup merge of #34764 - pnkfelix:attrs-on-generic-formals, r=eddyb
First step for #34761
2016-10-01 19:22:39 +05:30
Manish Goregaokar
259d1fcd47 Rollup merge of #36599 - jonas-schievink:whats-a-pirates-favorite-data-structure, r=pnkfelix
Contains a syntax-[breaking-change] as a separate commit (cc #31645).nnAlso renames slice patterns from `PatKind::Vec` to `PatKind::Slice`.
2016-10-01 19:22:12 +05:30
Manish Goregaokar
a73ba8b98c Rollup merge of #35874 - CensoredUsername:stmt_let_typed_fix, r=Manishearth
This commit makes the return type of AstBuilder.stmt_let_typed match the return type of other AstBuilder.stmt* functions. This avoids unnecessary boxing/unboxing whenever Stmt's are stored in a Vec, which is the default use case.nnThis is a potentially plugin breaking change.
2016-10-01 19:22:08 +05:30
Manish Goregaokar
8457ab61f6 Rollup merge of #36882 - jseyfried:fix_36881, r=eddyb
resolve: fix incorrect code in `module_to_string`

Fixes #36881.
r? @nrc or @eddyb
2016-10-01 16:38:33 +05:30
Manish Goregaokar
987aea5ee4 Rollup merge of #36880 - durka:debug-unsized-ptr, r=bluss
impl Debug for raw pointers to unsized data

`?Sized` was missing from these impls for seemingly no reason.

Fixes #36870.
2016-10-01 16:38:33 +05:30
Manish Goregaokar
9e255704e5 Rollup merge of #36877 - solson:rustc-version-build-issue, r=eddyb
Fix RUSTC_VERSION for 'documenting' build stage.

Previously the `env!("RUSTC_VERSION")` requirement would break the "Documenting rustc_metadata" stage of the rustc build, since that environment variable is only defined during the main build.

r? @eddyb
2016-10-01 16:38:32 +05:30
Manish Goregaokar
e506bfa58e Rollup merge of #36873 - GuillaumeGomez:e0035_e0036, r=jonathandturner
Update E0035, E0036 and E0370 to new error format

Fixes #35634.
Fixes #35206.
Fixes #35207.

r? @jonathandturner
2016-10-01 16:38:32 +05:30
Manish Goregaokar
2e5837a102 Rollup merge of #36872 - frewsxcv:rustdoc, r=GuillaumeGomez
A couple refactorings in librustdoc.

None
2016-10-01 16:38:32 +05:30
Manish Goregaokar
3821811c49 Rollup merge of #36865 - kallisti5:master, r=brson
Haiku: Fix target triplet delimiter
2016-10-01 16:38:32 +05:30
bors
5045d4e396 Auto merge of #36824 - kali:master, r=alexcrichton
SO_NOSIGPIPE and MSG_NOSIGNAL (rebased #36426)

I'm not sure what happened when I pushed a rebased branch on #36426 , github closed it...
2016-10-01 01:19:47 -07:00
Jeffrey Seyfried
91e1f24f12 Fix module_to_string. 2016-10-01 07:41:53 +00:00
bors
8b00355119 Auto merge of #36339 - brson:emscripten-new, r=alexcrichton
Working asmjs and wasm targets

This patch set results in a working standard library for the asmjs-unknown-emscripten and wasm32-unknown-emscripten targets. It is based on the work of @badboy and @rschulman.

It does a few things:

- Updates LLVM with the emscripten [fastcomp](https://github.com/rust-lang/llvm/pull/50) patches, which include the pnacl IR legalizer and the asm.js backend. This patch is thought not to have any significant effect on existing targets.
- Teaches rustbuild to correctly link C code with emscripten
- Updates gcc-rs to work correctly with emscripten
- Teaches rustbuild to run crate tests for emscripten with node
- Modifies Thread::new to return an error on emscripten, to facilitate debugging a common failure mode
- Modifies libtest to run in single-threaded mode for emscripten
- Ignores a host of tests that don't work yet, mostly dealing with threads and I/O
- Updates libc with wasm32 definitions (presently the same as asmjs)
- Adds a wasm32-unknown-emscripten target that feeds the output of LLVM's asmjs backend through emcc to generate wasm

Notes and caveats:

- This is only known to work with `--enable-rustbuild`.
- The wasm32 target can't be tested correctly yet because of issues in compiletest and limitations in node https://github.com/kripken/emscripten/issues/4542, but hello.rs does seem to work when run on node via the binaryen interpreter
- This requires an up to date installation of the emscripten sdk from its incoming branch
- Unwinding is very broken
- When enabling the emscripten targets jemalloc is disabled for all targets, which results in test failures for the host

Next steps are to fix the jemalloc issue, start building the two emscripten targets on the auto builders, then start producing nightlies.

https://github.com/rust-lang/rust/issues/36317 tracks work on this.

Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36356
2016-09-30 19:00:36 -07:00
Alex Burka
ba1a49337f impl Debug for raw pointers to unsized data 2016-10-01 01:50:56 +00:00
bors
bba3fca20e Auto merge of #36866 - alexcrichton:fix-hash-again, r=eddyb
rustc: More fixes for arch-independent hashing

In another attempt to fix #36793 this commit attempts to head off any future
problems by adding a custom `WidentUsizeHasher` which will widen any hashing of
`isize` and `usize` to a `u64` as necessary. This obviates the need for a
previous number of `as u64` annotations and will hopefully protect us against
future problems here.

Closes #36793 (hopefully)
2016-09-30 15:43:52 -07:00
Scott Olson
41832f27ba Fix RUSTC_VERSION for 'documenting' build stage.
Previously the `env!("RUSTC_VERSION")` requirement would break the
"Documenting rustc_metadata" stage of the rustc build, since that
environment variable is only defined during the main build.
2016-09-30 16:24:50 -06:00
Guillaume Gomez
8ea426a6ce Update E0370 to new error format 2016-09-30 23:33:24 +02:00
Guillaume Gomez
4d5e81d80d Update E0036 to new error format 2016-09-30 23:33:20 +02:00
Alex Crichton
faae99deb7 rustc: More fixes for arch-independent hashing
In another attempt to fix #36793 this commit attempts to head off any future
problems by adding a custom `WidentUsizeHasher` which will widen any hashing of
`isize` and `usize` to a `u64` as necessary. This obviates the need for a
previous number of `as u64` annotations and will hopefully protect us against
future problems here.

Closes #36793 (hopefully)
2016-09-30 14:31:32 -07:00
Brian Anderson
afa72b5dd6 Don't build any native compiler-builtin components for emscripten 2016-09-30 14:04:09 -07:00
Brian Anderson
4f5e73be1b Build a dummy alloc_jemalloc crate on platforms that don't support it
This is a hack to support building targets that don't support jemalloc
alongside hosts that do. The jemalloc build is controlled by a feature
of the std crate, and if that feature changes between targets, it
invalidates the fingerprint of std's build script (this is a cargo
bug); so we must ensure that the feature set used by std is the same
across all targets, which means we have to build the alloc_jemalloc
crate for targets like emscripten, even if we don't use it.
2016-09-30 14:03:00 -07:00
Brian Anderson
3c038c0505 Document emscripten's unwind impl and remove unused function 2016-09-30 14:02:59 -07:00
Brian Anderson
badfd6200b Cleanup bootstrap 2016-09-30 14:02:58 -07:00
Brian Anderson
21b987ea08 Unignore some working emscripten tests 2016-09-30 14:02:58 -07:00
Brian Anderson
d997a6291f Call emcc with ERROR_ON_UNDEFINED_SYMBOLS 2016-09-30 14:02:57 -07:00
Brian Anderson
834bbab11b rustbuild: Only build 'dist' when building the host
Doing this step for the target results in the build system
trying to build rustc for asmjs, which doesn't work.
2016-09-30 14:02:56 -07:00
Brian Anderson
096670ca41 Ignore various entire test modules on emscripten 2016-09-30 14:02:56 -07:00
Brian Anderson
525a798ca6 Rewrite emscripten unwinding to use libcxx 2016-09-30 14:02:55 -07:00
Brian Anderson
7c0bf41cff Ignore another emscripten test because missing intrinsics 2016-09-30 14:02:54 -07:00
Brian Anderson
8401e37495 Update bootstrap and compiletest to use the detected nodejs 2016-09-30 14:02:53 -07:00
Brian Anderson
a4c3288129 Change the sigs of set_print/set_panic to allow restoring the default objects 2016-09-30 14:02:53 -07:00
Brian Anderson
183b2ddce4 Ignore entire test modules on emscripten instead of individual tests 2016-09-30 14:02:52 -07:00
Brian Anderson
37abec06e5 Tidy 2016-09-30 14:02:51 -07:00
Brian Anderson
10a52d507d Update LLVM with fastcomp patches 2016-09-30 14:02:49 -07:00