Commit graph

46235 commits

Author SHA1 Message Date
Guillaume Gomez
297b77d49b Add E0442 error explanation 2015-09-01 01:22:43 +02:00
Guillaume Gomez
954d6ae184 Comment out unused error codes 2015-09-01 01:22:43 +02:00
Guillaume Gomez
c016da248f Add E0411 error explanation 2015-09-01 01:22:40 +02:00
Jack Wilson
7665a7f016 Makes formatting of i32 consistent 2015-08-31 15:52:02 -07:00
bors
2d3e8379c8 Auto merge of #28079 - huonw:simd, r=alexcrichton
This adds a new Python script (compatible with 2.7 and 3.x) that will consume some JSON files that define a platform's intrinsics. It can output a file that defines the intrinsics in the compiler, or an `extern` block that will import them.

The complexity of the generator is to be DRY: platforms (especially ARM and AArch64) have a lot of repetition with their intrinsics, for different versions with different types, so being able to write it once is nice.
2015-08-31 21:34:08 +00:00
Ariel Ben-Yehuda
321f8d81b8 remove the is_instantiable check
Fixes #27497
2015-08-31 23:54:15 +03:00
Huon Wilson
14f9c97356 Delete unused macros from rustc_platform_intrinsics. 2015-08-31 13:42:09 -07:00
Andrew Paseltiner
a73d27f6d3 Implement RFC 839 for {HashMap, HashSet}
It appears that these impls were left out of #25989 by mistake.
2015-08-31 13:57:59 -04:00
bors
f9f82f8dc8 Auto merge of #28009 - GuillaumeGomez:patch-1, r=Manishearth
r? @Manishearth
2015-08-31 16:52:46 +00:00
bors
6d6bf81b33 Auto merge of #28123 - Aatch:fix-silly-tuple-constructor, r=eddyb
This was preventing any side-effects from the expressions from
happening.

Fixes #28114

cc @rust-lang/compiler
2015-08-31 15:00:48 +00:00
bors
ce40c48c45 Auto merge of #28116 - nrc:closure-expand, r=alexcrichton 2015-08-31 13:10:23 +00:00
James Miller
4637d42b58 Translate constructor arguments for zero-sized tuple structs
This was preventing any side-effects from the expressions from
happening.

Fixes #28114
2015-08-31 23:57:41 +12:00
Simonas Kazlauskas
25dce09a96 Change explicit BytesDeref impl into Cloned iterator 2015-08-31 14:48:28 +03:00
bors
6a69bdd9e9 Auto merge of #28107 - mneumann:dragonfly_ar, r=alexcrichton 2015-08-31 11:19:27 +00:00
Andrew Paseltiner
15322adf3e hide docs for private collections::btree::Recover trait
closes #28093
2015-08-31 07:01:07 -04:00
bors
b0f77ba26a Auto merge of #28101 - ijks:24214-str-bytes, r=alexcrichton
Specifically, `count`, `last`, and `nth` are implemented to use the
methods of the underlying slice iterator.

Partially closes #24214.
2015-08-31 09:15:55 +00:00
Tobias Bucher
4d2709def2 Implement FixedSizeArray for all fixed size arrays
Do so by using the fact that fixed size arrays (like `[u8; 8]` can be coerced
to slices `&[u8]`, this is expressed through the trait `Unsize<[T]>` that all
fixed size arrays implement.
2015-08-31 10:55:39 +02:00
bors
05cc464d90 Auto merge of #27980 - tbu-:pr_cloexec_dup, r=alexcrichton
Still needs values of F_DUPFD_CLOEXEC on other OSs.

For Bitrig, NetBSD and OpenBSD the constant was incorrectly in posix01, when
it's actually posix08. In order to maintain backwards-compatiblity, the
constant was only copied, not moved.

cc #24237
2015-08-31 07:24:39 +00:00
Nick Cameron
ef4853041a Closures are not generated code. 2015-08-31 17:06:30 +12:00
AlexDenisov
b03b0d4c10 Fix typo 2015-08-31 06:44:27 +02:00
bors
811868ec6f Auto merge of #28103 - GuillaumeGomez:fix-intrinsic, r=huonw
Fixes #28062
2015-08-31 03:00:21 +00:00
bors
8f28c9b01e Auto merge of #28007 - Ms2ger:FnKind, r=nrc
There is no longer a need for that pattern, since enums are now qualified.
2015-08-31 01:09:40 +00:00
bors
fe9cef7dae Auto merge of #27983 - barosl:respect-color, r=nrc
Currently, `early_error` and `early_warn` in `librustc::session` always use `ColorConfig::Auto`. Modify them to follow the color configuration set by the `--color` option.

As colored output is also printed during the early stage, parsing the `--color` option should be done as early as possible. However, there are still some cases when the output needs to be colored before knowing the exact color settings. In these cases, it will be defaulted to `ColorConfig::Auto`, which is the same as before.

Fixes #27879.
2015-08-30 23:18:34 +00:00
Michael Neumann
c01eb691d0 fixes #27124 for DragonFly 2015-08-30 22:31:39 +02:00
bors
2aa7f97c7a Auto merge of #28106 - marcusklaas:continue, r=eddyb
Fixes https://github.com/rust-lang/rust/issues/28105.
2015-08-30 20:26:44 +00:00
Marcus Klaas
b69347c00c Assign correct span to continue expression
Fixes https://github.com/rust-lang/rust/issues/28105.
2015-08-30 20:44:36 +02:00
bors
7bb0d0d74c Auto merge of #28102 - arielb1:fix-log-again, r=eddyb
r? @eddyb
2015-08-30 16:52:23 +00:00
Ariel Ben-Yehuda
ec6c3dbae5 fix compilation with RUST_LOG=rustc::middle::traits 2015-08-30 19:07:44 +03:00
Daan Rijks
dacf2725ec Add overrides to iterator methods for str::Bytes
Specifically, `count`, `last`, and `nth` are implemented to use the
methods of the underlying slice iterator.

Partially closes #24214.
2015-08-30 17:32:50 +02:00
bors
9a82594b8e Auto merge of #28097 - tbu-:pr_macro_to_const_fn, r=eddyb 2015-08-30 14:15:42 +00:00
Tobias Bucher
aad7ea66da Make a macro a const fn and remove outdated NB 2015-08-30 14:32:17 +02:00
Guillaume Gomez
bc024d261e Add compile-fail test for E0444 2015-08-30 11:29:34 +02:00
Tobias Bucher
1f81ef4d0f Atomically set CLOEXEC on duplicated sockets
For Bitrig, NetBSD and OpenBSD the constant was incorrectly in posix01, when
it's actually posix08, so we move it. This is a [breaking-change], but we
already had one in #27930.

Fix NetBSD's F_DUPFD_CLOEXEC constant.

For a similar feature detection, see this musl thread:
http://comments.gmane.org/gmane.linux.lib.musl.general/2963

This assumes that an int literal has type `c_int` for varidic functions.
2015-08-30 10:24:05 +02:00
Guillaume Gomez
4ad7cbaa51 Add E0444 error code explanation 2015-08-30 09:53:05 +02:00
Guillaume Gomez
78feb4ddf9 Add checkup on number of arguments 2015-08-30 09:52:34 +02:00
bors
4bb90232da Auto merge of #27588 - cesarb:read_all, r=alexcrichton
This implements the proposed "read_exact" RFC (https://github.com/rust-lang/rfcs/pull/980).

Tracking issue: https://github.com/rust-lang/rust/issues/27585
2015-08-30 05:59:49 +00:00
bors
2f749254ca Auto merge of #28087 - AlisdairO:diagnostics122, r=arielb1
As title :-)
Part of #24407.

r? @Manishearth
2015-08-30 04:09:11 +00:00
Huon Wilson
29dcff3aa2 Support different scalar integer widths in Rust v. LLVM.
Some x86 C intrinsics are declared to take `int ...` (i.e. exposed in
Rust as `i32`), but LLVM implements them by taking `i8` instead.
2015-08-29 20:11:23 -07:00
Huon Wilson
daf8bdca57 Fix typos in some x86 and arm intrinsics. 2015-08-29 20:11:23 -07:00
Huon Wilson
3e9b726576 Style the generator script more PEP8y. 2015-08-29 19:26:48 -07:00
bors
f3f23bf9c5 Auto merge of #28086 - AlisdairO:diagnostics281, r=arielb1
As title :-)
Part of #24407.

r? @Manishearth
2015-08-30 00:38:05 +00:00
Huon Wilson
24416a2151 Autogenerate most x86 platform intrinsics. 2015-08-29 15:36:17 -07:00
Huon Wilson
5a167bdb4c Allow unused imports in the generator. 2015-08-29 15:36:17 -07:00
Huon Wilson
bea3f096ee Add support for arbitrary metadata for numbers and widths.
This means that each platform has total control over the formatting info
it needs.
2015-08-29 15:36:16 -07:00
Huon Wilson
083f613044 Autogenerate most ARM platform intrinsics. 2015-08-29 15:36:16 -07:00
Huon Wilson
3ef610b627 Autogenerate most AArch64 platform intrinsics. 2015-08-29 15:36:16 -07:00
Huon Wilson
73811917f4 Add the platform intrinsic generator script.
This python script will consume an appropriately formatted JSON file and
output either a Rust file for use in librustc_platform_intrinsics, or an
extern block for importing the intrinsics in an external library.

The --help flag has details.
2015-08-29 15:36:16 -07:00
Huon Wilson
72382d247a Avoid eagerly stripping the common platform prefix.
This works better with the code generation approach.
2015-08-29 15:36:16 -07:00
Huon Wilson
ee2de27996 Add support for aggregates in platform intrinsics.
This adds support for flattened intrinsics, which are called in Rust
with tuples but in LLVM without them (e.g. `foo((a, b))` becomes `foo(a,
b)`). Unflattened ones could be supported, but are not yet.
2015-08-29 15:36:16 -07:00
Huon Wilson
b03ca7f805 Separate integers into signed and unsigned.
This is necessary to reflect the ARM APIs accurately, since some
functions explicitly take an unsigned parameter and a signed one, of the
same integer shape, so the no-duplicates check will fail unless we
distinguish.
2015-08-29 15:36:16 -07:00