bors
68e0d13bfd
Auto merge of #26583 - eefriedman:lint-ffi, r=nrc
...
Makes the lint a bit more accurate, and improves the quality of the diagnostic
messages by explicitly returning an error message.
2015-07-24 02:40:42 +00:00
Alex Crichton
95ec4be02b
configure: Add support for VS 2015
...
Adds support to the configure script for detecting Visual Studio 2015 being
installed and builds LLVM/uses cl with that compiler. The compiler will
automatically use this MSVC linker anyway because it's the highest version.
2015-07-23 19:38:00 -07:00
Andy Caldwell
93dd75a509
Fix license statement
2015-07-24 01:39:47 +00:00
Dave Huseby
a04b8391e0
switching to gnu archive format
2015-07-23 18:32:07 -07:00
Dave Huseby
02b394cef8
fixes #27124 for freebsd
2015-07-23 18:32:07 -07:00
Andy Caldwell
4f58db485d
Make ICE an error and use a sensible error message
2015-07-24 01:10:25 +00:00
Andy Caldwell
610d1e312f
Add test for issue #23389
2015-07-24 01:09:52 +00:00
Eli Friedman
6fa17b43d3
Rewrite the improper_ctypes lint.
...
Makes the lint a bit more accurate, and improves the quality of the diagnostic
messages by explicitly returning an error message.
The new lint is also a little more aggressive: specifically, it now
rejects tuples, and it recurses into function pointers.
2015-07-23 17:03:04 -07:00
Tobias Bucher
c2fca7c957
Add unstable attribute to char::from_u32_unchecked
2015-07-24 01:58:38 +02:00
bors
69ca012564
Auto merge of #27224 - alexcrichton:configure-lto-right, r=brson
...
The LTO pass in the compiler forgot to call the `LLVMRustAddBuilderLibraryInfo`
function and configure other options such as merge_functions, vectorize_slp,
etc. This ended up causing linker errors on MSVC targets because the optimizer
didn't have the right knowledge that some system functions are missing on these
platforms.
This commit consolidates creation of PassManagerBuilder instances to one
function which is then called when needed. This ensures that the pass manager is
always correctly configured with the various target-specific information that
LLVM needs.
Overall, this fixes `-C lto -C opt-level=3` on 32-bit MSVC targets.
2015-07-23 23:38:36 +00:00
Felix S. Klock II
d066a7b506
update compile-fail/pushpop-unsafe-rejects.rs to reflect switch from saturated to checked arith.
2015-07-23 23:39:28 +02:00
Felix S. Klock II
2d68d09b46
review feedback: common-subexpression-elim across functions in pushpop_safe impl.
2015-07-23 23:39:28 +02:00
Felix S. Klock II
44bb0dd4a3
review feedback: Use checked-arith instead of saturated-arith for push_unsafe!
and pop_unsafe!
.
2015-07-23 23:39:25 +02:00
Antti Keränen
e981311ec2
eval_const_expr_partial now returns ConstVal::Struct instead of None for unit-struct path expressions. Fixes #27008
2015-07-23 23:23:56 +03:00
bors
c85ba3e9cb
Auto merge of #27226 - eefriedman:leftover-negation-lint, r=alexcrichton
...
r? @pnkfelix
2015-07-23 19:11:51 +00:00
Dave Huseby
39c7a9350c
adds snapshots for bitrig and freebsd
2015-07-23 10:20:43 -07:00
Dave Huseby
b208bd9920
switching to gnu archive format per review request
2015-07-23 10:13:49 -07:00
Dave Huseby
8ffbde4443
review feedback fixes
2015-07-23 10:12:48 -07:00
Dave Huseby
01cb16d1bf
fixes #27124 for bitrig
2015-07-23 10:12:47 -07:00
Steve Klabnik
a319d32a57
Link Deref{,Mut} to TRPL on coercions.
...
FIxes #26927
2015-07-23 12:57:22 -04:00
Alisdair Owens
e66817512a
Add diagnostics for E0120
2015-07-23 17:35:24 +01:00
bors
7911d9979f
Auto merge of #27221 - dotdash:no_empty_clean, r=luqmana
...
When compiling libsyntax this removes about 30k basic blocks that only
contain a single unconditional jump and reduces the peak memory usage by
about 10MB (from 681MB down to 671MB).
2015-07-23 15:59:20 +00:00
Guillaume Gomez
0efc7f143f
Fix typo and improve explanation
2015-07-23 16:19:37 +02:00
Alisdair Owens
38c5af86a1
Add long diagnostics for E0373
2015-07-23 15:07:26 +01:00
Felix S. Klock II
565df576e8
Update suggestion from parenthesized-box-expr-message to reflect new output spacing.
2015-07-23 16:02:27 +02:00
Felix S. Klock II
5682e2a1aa
fix pretty printing tests by opting into the features that the expanded code needs.
2015-07-23 16:02:27 +02:00
Felix S. Klock II
225298c377
fix doc-tests by opting into placement_in_syntax
feature where necessary.
2015-07-23 16:02:26 +02:00
Felix S. Klock II
73df224f05
Review feedback: add unstable marker to Placer API and put in bound that now works.
2015-07-23 16:02:26 +02:00
Tobias Bucher
a700546fea
Fix thread::catch_panic
documentation to mention its return value on success
...
Fixes #27027 .
2015-07-23 15:44:06 +02:00
bors
2e5b165e18
Auto merge of #27203 - marcusklaas:fix-range-span, r=alexcrichton
...
Right trims the span for certain range expressions.
Closes https://github.com/rust-lang/rust/issues/27162 .
2015-07-23 12:52:21 +00:00
Tobias Bucher
0eb552a835
wtf8, char: Replace uses of mem::transmute
with more specific functions
2015-07-23 13:55:37 +02:00
Jonathan Hansford
1f80880467
Added entries to explain expression-oriented languages
...
Added definitions for 'Expression', 'Expression-Oriented Language' and
'Statement'.
Sorted the definitions alphabetically.
2015-07-23 12:24:55 +01:00
Guillaume Gomez
8a75dcdadf
Add E0424 error explanation
2015-07-23 12:44:59 +02:00
Guillaume Gomez
d6b9e0bed9
Add E0417 error explanation
2015-07-23 12:28:01 +02:00
bors
d6a6178637
Auto merge of #26588 - eefriedman:foreign-lifetime, r=nrc
...
Pretty straightforward; just need to make sure to explicitly handle
the generic parameters of each ast::ForeignItemFn.
Fixes #26587 .
2015-07-23 09:16:08 +00:00
Manish Goregaokar
4337e822fb
Add long diagnostic for E0269
2015-07-23 12:49:26 +05:30
Manish Goregaokar
d6be183af1
Improve E0260
2015-07-23 12:49:26 +05:30
Manish Goregaokar
74768e9a6c
Add long diagnostics for E0139 (type parameters in transmute)
2015-07-23 12:49:25 +05:30
Manish Goregaokar
3080df36e2
Add long diagnostic for E0138
2015-07-23 12:49:25 +05:30
Manish Goregaokar
e9c15307a9
Add long diagnostic for E0136
2015-07-23 12:49:25 +05:30
Manish Goregaokar
29d7147dda
Review fixes
2015-07-23 12:49:25 +05:30
Manish Goregaokar
950c2d8135
Add huge explanation for E0038 (object safety)
2015-07-23 12:49:24 +05:30
Manish Goregaokar
37a84bc821
Add error explanation for E0022
2015-07-23 12:47:05 +05:30
Manish Goregaokar
5d31deeae4
Add error explanation for E0017
2015-07-23 12:45:11 +05:30
Manish Goregaokar
688a09910a
Move E0006 into E0005
2015-07-23 12:45:11 +05:30
Manish Goregaokar
36d852918f
Improve E0001-E0003
2015-07-23 12:45:11 +05:30
eternaleye
4e67f9c611
Write deterministic archives
...
Currently, `rustc` generates nondeterministic archives, which contain system timestamps. These don't really serve any useful purpose, and enabling deterministic archives moves us a little closer to completely deterministic builds. For a small toy library using `std::ops::{Deref,DerefMut}`, this change actually results in a bit-for-bit identical build every time.
2015-07-22 23:54:59 -07:00
Eli Friedman
b2213498c4
Resolve lifetime parameters for foreign functions.
...
Pretty straightforward; just need to make sure to explicitly handle
the generic parameters of each ast::ForeignItemFn.
Fixes #26587 .
2015-07-22 22:37:20 -07:00
bors
8d91bbd90a
Auto merge of #27192 - dotdash:inline_eq_slice, r=luqmana
...
eq_slice_() used to be a common implementation for two function that
both called it, but of those only eq_slice() is left, so we can as well
directly inline the code.
2015-07-23 02:24:06 +00:00
Eli Friedman
312f886d03
Remove orphaned unsigned_negation lint reference.
2015-07-22 17:47:01 -07:00