Commit Graph

57357 Commits

Author SHA1 Message Date
Jonathan Turner 5cc9fb9ed9 Rollup merge of #36669 - jseyfried:refactor_tok_result, r=nrc
Unify `TokResult` and `ResultAnyMacro`

Fixes #36641.
r? @nrc
2016-09-26 17:29:48 -07:00
Jonathan Turner 96577e4871 Rollup merge of #36663 - brson:build-plan, r=alexcrichton
rustbuild: Print out all build steps when --verbose

These helped me debug some problems with the asmjs target. It's just vomiting debug representations, so not the prettiest stuff.

r? @alexcrichton
2016-09-26 17:29:48 -07:00
Jonathan Turner 1d9646228d Rollup merge of #36662 - jseyfried:parse_macro_invoc_paths, r=nrc
parser: support paths in bang macro invocations (e.g. `path::to::macro!()`)

r? @nrc
2016-09-26 17:29:47 -07:00
Jonathan Turner 3775be853e Rollup merge of #36586 - japaric:rustdoc-sysroot, r=alexcrichton
rustdoc: implement --sysroot

with the same semantics as rustc. This let us build documentation for a
crate that depends on a custom sysroot.

r? @alexcrichton
cc @cbiffle
2016-09-26 17:29:47 -07:00
Jonathan Turner c816720242 Rollup merge of #36574 - japaric:link-arg, r=alexcrichton
rustc: implement -C link-arg

this flag lets you pass a _single_ argument to the linker but can be
used _repeatedly_. For example, instead of using:

```
rustc -C link-args='-l bar' (..)
```

you could write

```
rustc -C link-arg='-l' -C link-arg='bar' (..)
```

This new flag can be used with RUSTFLAGS where `-C link-args` has
problems with "nested" spaces:

```
RUSTFLAGS='-C link-args="-Tlayout.ld -nostartfiles"'
```

This passes three arguments to rustc: `-C` `link-args="-Tlayout.ld` and
`-nostartfiles"` to `rustc`. That's not what we meant. But this does
what we want:

```
RUSTFLAGS='-C link-arg=-Tlayout.ld -C link-arg=-nostartfiles`
```

cc rust-lang/rfcs#1509

r? @alexcrichton
cc @Zoxc

This needs a test. Any suggestion?
2016-09-26 17:29:47 -07:00
Jonathan Turner e3ffde855a Rollup merge of #36563 - vanjacosic:patch-1, r=steveklabnik
Docs: Update to "Getting Started" section

I came across #34523 and wanted to suggest a solution. See commit for details.

It seemed like a good place to start contributing, let me know if I did anything wrong 😇
2016-09-26 17:29:47 -07:00
Jonas Schievink 168a0795c6 Fix codegen test (value names changed) 2016-09-27 02:20:46 +02:00
Jonathan Turner c0f29fdd58 Update E0446 label with improved wording 2016-09-26 17:05:43 -07:00
Jonas Schievink e3293b84af Address review comments 2016-09-27 02:03:35 +02:00
Keith Yeung fd7314f534 Update E0025 to new error format 2016-09-26 16:11:05 -07:00
Jonathan Turner 2fa91b23c5 Update E0425, E0446, E0449 2016-09-26 16:05:46 -07:00
Jonas Schievink a0fa2048a8 Ignore local kind in MIR dataflow 2016-09-27 00:32:08 +02:00
bors 388c3f25f9 Auto merge of #36661 - jneem:master, r=nrc
Change error message for intrinsic signature.

Makes it so the signature of the intrinsic in the user's code is
"found," while the signature that rustc knows about is "expected."

Before this patch, the code
```
extern "platform-intrinsic" {
    fn x86_mm_movemask_ps() -> i32;
}
```
would give the error
```
error[E0444]: platform-specific intrinsic has invalid number of arguments: found 1, expected 0
 --> test.rs:4:5
  |
4 |     fn x86_mm_movemask_ps() -> i32;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error
```

After this patch, it says "found 0, expected 1".
2016-09-26 14:26:18 -07:00
Michael Woerister 1e5c253aa1 incr.comp.: Add test case for cache artifact file headers. 2016-09-26 17:14:31 -04:00
Jonas Schievink e0249ad800 Fix tidy 2016-09-26 23:00:23 +02:00
Jonas Schievink 9ccac2a8fb No need to borrow `allocate_local` 2016-09-26 22:55:07 +02:00
Jonas Schievink dfab092765 promote_consts: make assign take a Local 2016-09-26 22:53:22 +02:00
Jonas Schievink 66d2f34d40 args_iter doesn't need to borrow the MIR 2016-09-26 22:51:51 +02:00
Jonas Schievink bcfbdb871f Rename MIR local iterators to match convention 2016-09-26 22:50:03 +02:00
Jonas Schievink 3b0c318a5f Make spreading use `Option<Local>` 2016-09-26 22:44:01 +02:00
Jonas Schievink 894c083c40 Remove TODOs (they're done) 2016-09-26 22:30:56 +02:00
Jonas Schievink e75feea696 Fix off-by-one when emitting StorageDead for vars 2016-09-26 22:30:56 +02:00
Michael Woerister 76f76ae1d8 incr.comp.: Add file header to on-disk artifacts for validation. 2016-09-26 16:05:01 -04:00
Andrew Lygin 157208b046 New error format for E0512 2016-09-26 22:49:22 +03:00
Tomasz Miąsko c52b957b89 When getaddrinfo returns EAI_SYSTEM retrieve actual error from errno.
Fixes issue #36546. This change also updates libc to earliest version
that includes EAI_SYSTEM constant.
2016-09-26 21:25:59 +02:00
Vanja Cosic 0bd7ef0996 Remove whitespace from line endings 2016-09-26 20:55:59 +02:00
Guillaume Gomez 96a0f06b2f Update E0513 to new error format 2016-09-26 20:52:01 +02:00
Guillaume Gomez 1e4e81c320 Add compile-fail test for E0513 2016-09-26 20:52:01 +02:00
Guillaume Gomez 09a63c1571 Add E0513 error explanation 2016-09-26 20:51:56 +02:00
Jonas Schievink 393db2d830 [WIP] Move MIR towards a single kind of local 2016-09-26 20:41:54 +02:00
bors 8ccfc695b5 Auto merge of #36719 - shepmaster:build-env-var-reporting, r=alexcrichton
Report which required build-time environment variable is not set
2016-09-26 11:12:42 -07:00
Aleksey Kladov 300e13808e Remove CString drop test.
The test relies on the undefined behavior, and so may fail in some
circumstances. This can be worked around by stubbing a memory allocator
in the test, but it is a bit of work, and LLVM could still theoretically
eliminate the write of the zero byte in release mode (which is
intended).

So let's just remove the test and mark the function as inline. It
shouldn't be optimized away when inlined into the debug build of user's
code.
2016-09-26 20:50:32 +03:00
Jonas Schievink 205dac9355 Move "rust-call" tuple spreading out of ArgDecl
If MIR is for a "rust-call" ABI function, the last arg would always
have `spread` set to `true`. Move this flag into `Mir` instead.
2016-09-26 19:42:01 +02:00
Jake Goulding e6e117c33a Extend preprocessor LLVM version checks to support LLVM 4.x
This doesn't actually do anything for LLVM 4.x yet, but sets the stage.
2016-09-26 13:40:29 -04:00
Joe Neeman 159aa0b902 Add a compile-fail test. 2016-09-26 18:48:35 +02:00
Frank Rehberger 6c4616c72d Update set.rs 2016-09-26 18:16:06 +02:00
Frank Rehberger ba84d4ff81 Update map.rs 2016-09-26 18:15:27 +02:00
Tim Neumann f0e1738e51 fix rebase fallout 2016-09-26 17:21:45 +02:00
bors c2769285ad Auto merge of #36735 - srinivasreddy:typck/variance, r=nrc
run rustfmt on librustc_typeck/variance folder
2016-09-26 07:53:27 -07:00
Frank Rehberger 3551008022 Update set.rs 2016-09-26 16:03:37 +02:00
Frank Rehberger bd80e7bce7 Update map.rs 2016-09-26 16:00:24 +02:00
Frank Rehberger aed99c800e Document init of HashSet/HashMap from vector 2016-09-26 13:39:31 +02:00
bors 3bf4a7ad45 Auto merge of #36734 - nnethercote:fix-HashSet-sizing, r=Aatch
Don't allocate during default HashSet creation.

The following `HashMap` creation functions don't allocate heap storage for elements.
```
HashMap::new()
HashMap::default()
HashMap::with_hasher()
```
This is good, because it's surprisingly common to create a HashMap and never
use it. So that case should be cheap.

However, `HashSet` does not have the same behaviour. The corresponding creation
functions *do* allocate heap storage for the default number of non-zero
elements (which is 32 slots for 29 elements).
```
HashMap::new()
HashMap::default()
HashMap::with_hasher()
```
This commit gives `HashSet` the same behaviour as `HashMap`, by simply calling
the corresponding `HashMap` functions (something `HashSet` already does for
`with_capacity` and `with_capacity_and_hasher`). It also reformats one existing
`HashSet` construction to use a consistent single-line format.

This speeds up rustc itself by 1.01--1.04x on most of the non-tiny
rustc-benchmarks.
2016-09-26 04:38:18 -07:00
Jeffrey Seyfried df0e4bf911 Move `ensure_complete_parse` into `expand.rs`. 2016-09-26 11:24:10 +00:00
bors b786976a15 Auto merge of #36730 - jseyfried:make_macro_rules_invocations_magic, r=nrc
Forbid user-defined macros named "macro_rules"

This is a [breaking-change].
r? @nrc
2016-09-26 01:21:00 -07:00
Alexander von Gluck IV 7c34d9c144 Haiku: Use common thread set_name stub 2016-09-26 00:41:41 -05:00
Tim Neumann cf1fc2ce13 appease tidy 2016-09-26 07:07:41 +02:00
Tim Neumann 0dc2a95f1e emit feature help in cheat mode 2016-09-26 07:07:41 +02:00
Tim Neumann ad81f11b01 deduplicate inline is_nightly_build implementations 2016-09-26 07:07:41 +02:00
Tim Neumann 3f287efc82 refactor away get_unstable_features_setting 2016-09-26 07:07:41 +02:00