Commit Graph

46042 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda
1e507d4450 address nits 2015-08-24 21:30:39 +03:00
Eljay
efc98fab26 Update hoedown to latest version (3.0.4). 2015-08-24 19:21:08 +01:00
Matěj Grabovský
82bed0a760 Clarify a sentence in the Book 2015-08-24 20:14:39 +02:00
Tobias Bucher
6de7f609dd Atomically open files with O_CLOEXEC where possible
On Linux the flag is just ignored if it is not supported:
https://lwn.net/Articles/588444/

Touches #24237.
2015-08-24 20:02:09 +02:00
Ariel Ben-Yehuda
581e5ee45e fix test 2015-08-24 20:46:53 +03:00
Ariel Ben-Yehuda
65e9bc0c93 store the CodeExtent directly in FreeRegion
this makes the code cleaner
2015-08-24 20:46:52 +03:00
Ariel Ben-Yehuda
fc304384e6 Use a Vec instead of an HashMap for the scope hierarchy
This increases regionck performance greatly - type-checking on
librustc decreased from 9.1s to 8.1s. Because of Amdahl's law,
total performance is improved only by about 1.5% (LLVM wizards,
this is your opportunity to shine!).

before:
576.91user 4.26system 7:42.36elapsed 125%CPU (0avgtext+0avgdata 1142192maxresident)k
after:
566.50user 4.84system 7:36.84elapsed 125%CPU (0avgtext+0avgdata 1124304maxresident)k

I am somewhat worried really need to find out why we have this Red Queen's
Race going on here. Originally I suspected it may be a problem from RFC1214's
warnings, but it seems to be an effect from other changes.

However, the increase seems to be mostly in LLVM's time, so I guess
it's the LLVM wizards' problem.
2015-08-24 20:24:38 +03:00
Ariel Ben-Yehuda
2bcc6d8ec7 Use a u32 instead of a usize in CodeExtent
This reduces the size of CodeExtent to 12 bytes (was 24). We should have
a warning for this kind of problem.
2015-08-24 20:10:25 +03:00
Ariel Ben-Yehuda
316510f5e2 split ReInfer into ReVar and ReSkolemized
this should reduce the size of ty::Region to 24 bytes (from 32),
and they are treated differently in most cases anyway.
2015-08-24 20:10:25 +03:00
bors
b74ec4c847 Auto merge of #27976 - sfackler:addrparseerror-error, r=alexcrichton
Closes #27973
2015-08-24 16:00:42 +00:00
Steven Fackler
f266f12f30 Add stability markers for new impls 2015-08-24 08:59:45 -07:00
Andrea Canciani
152c76ef0d Minimize the implementation of Rem in libcore
The implementation of the remainder operation belongs to
librustc_trans, but it is also stubbed out in libcore in order to
expose it as a trait on primitive types. Instead of exposing some
implementation details (like the upcast to `f64` in MSVC), use a
minimal implementation just like that of the `Div` trait.
2015-08-24 17:47:01 +02:00
bors
797d0ba59c Auto merge of #27857 - Manishearth:improve-fnkind, r=pnkfelix
Since enums are namespaced now, should we also remove the `Fk` prefixes from `FnKind` and remove the reexport? (The reexport must be removed because otherwise it clashes with glob imports containing `ItemFn`). IMO writing `FnKind::Method` is much clearer than `FkMethod`.
2015-08-24 12:47:57 +00:00
bors
db67cbe43d Auto merge of #27856 - nikomatsakis:move-def-id-to-rustc, r=eddyb
It doesn't really make sense for DefId to be in libsyntax -- it is concerned with a single crate only. It is the compiler that understands the idea of many crates. (At some point, there might be a useful intermediate point here.) This is a refactoring in support of incr. compilation, which will be adjusting the notion of a DefId to make it more durable across compilations.

This will probably be a [breaking-change] for every plugin ever. You need to adjust things as follows:

    use rustc::middle::def_id::{DefId, LOCAL_CRATE}; // two most common definitions
    ast_util::is_local(def_id) => def_id.is_local()
    ast_util::local_def(node_id) => DefId::local(node_id)
2015-08-24 10:03:48 +00:00
Niko Matsakis
19948751bd purge DEF_ID_DEBUG TLS variable, and just always print a path, since I
think it can no longer panic
2015-08-24 05:35:34 -04:00
Niko Matsakis
c0de23de81 convert to use is_local instead of == LOCAL_CRATE 2015-08-24 05:35:34 -04:00
Niko Matsakis
e91bef2e05 fallout from moving def-id 2015-08-24 05:35:34 -04:00
Niko Matsakis
afba69461a move def-id to rustc crate 2015-08-24 05:34:58 -04:00
Steven Fackler
b61fddebb0 Implement Error for AddrParseError
Closes #27973
2015-08-23 23:00:18 -07:00
Diggory Blake
19dc4d0a30 Fix compile-fail tests on windows 2015-08-24 04:53:56 +01:00
Overmind JIANG
6887d8cdab i686-linux-android: Removing useless cfgs.
That line is in a `#[cfg(target_os = "macos")]` block..
2015-08-24 08:20:32 +08:00
bors
63ba780fd7 Auto merge of #27962 - dotdash:overflow, r=alexcrichton
We're currently possibly introducing an unneeded temporary, make use of
InsertValue which is said to kick us off of FastISel and we generate
loads/stores of first class aggregates, which is bad as well. Let's not
do all these things.
2015-08-23 21:45:29 +00:00
Adam Crume
30fc4b765c book: Talk about ignore attribute in testing guide 2015-08-23 13:53:52 -07:00
Guillaume Gomez
8529d75b81 Add Send/Sync traits on LookupHost struct 2015-08-23 22:27:33 +02:00
bors
0e71bda242 Auto merge of #27586 - GuillaumeGomez:patch-2, r=Manishearth
Part of #24407.

This PR doesn't have code example since I didn't find how to raise it. If someone finds a code which does, please say it !

cc @pnkfelix
cc @eddyb
r? @Manishearth
2015-08-23 20:02:35 +00:00
bors
9f227ca2c2 Auto merge of #27960 - dotdash:zerosize_lifetime, r=alexcrichton
These aren't super common, but happen for e.g. closures that have an
empty environment, and for for-loops that return ().
2015-08-23 17:23:23 +00:00
bors
c69c29bb53 Auto merge of #27948 - wthrowe:f64-sqrt, r=alexcrichton
This fixes a reappearance of bug #9987 introduced in
1ddee8070d, which caused
f64::tests::test_sqrt_domain to fail (at least on some systems).
2015-08-23 15:41:34 +00:00
Overmind JIANG
6a7ed8f97a i686-linux-android: set -mcpu to pentium4.
To allow SSE2 to be used.
2015-08-23 22:49:25 +08:00
bors
568b13e26c Auto merge of #27961 - Manishearth:fix-rustcdatastructures-docs, r=eddyb
None
2015-08-23 13:58:54 +00:00
Björn Steinbrink
274dae9a4c Improve codegen for the various "with overflow" intrinsics
We're currently possibly introducing an unneeded temporary, make use of
InsertValue which is said to kick us off of FastISel and we generate
loads/stores of first class aggregates, which is bad as well. Let's not
do all these things.
2015-08-23 15:35:45 +02:00
Manish Goregaokar
fd2663648f Fix panic in docs for librustc_data_structures 2015-08-23 18:17:27 +05:30
Björn Steinbrink
64fcf3b1a6 Omit lifetime intrinsics for zero-sized types
These aren't super common, but happen for e.g. closures that have an
empty environment, and for for-loops that return ().
2015-08-23 14:38:42 +02:00
bors
c97acc30c4 Auto merge of #27944 - dotdash:zst_memcpy, r=eddyb
r? @eddyb
2015-08-23 12:16:24 +00:00
bors
2375743037 Auto merge of #27931 - tbu-:pr_liblibc_void, r=alexcrichton 2015-08-23 09:32:47 +00:00
bors
54b2eced63 Auto merge of #27927 - DiamondLovesYou:no-asm, r=alexcrichton 2015-08-23 07:50:06 +00:00
Tim JIANG
a1b2deb33b New cross target: i686-linux-android
- All the libstd tests are now passing in the optimized build against
  a Zenfone2 and the x86 Android simulator.
2015-08-23 15:38:11 +08:00
bors
d530379df6 Auto merge of #27922 - tshepang:dst-definition, r=alexcrichton
I am not sure this would work... I didn't test.
2015-08-23 06:06:52 +00:00
bors
e617a17369 Auto merge of #27919 - Eljay:doc-varargs, r=alexcrichton
Fixes #27876.
2015-08-23 04:24:35 +00:00
bors
054b7b766c Auto merge of #27912 - DiamondLovesYou:backtrace-refactor, r=alexcrichton 2015-08-23 02:41:01 +00:00
bors
10d69db0a8 Auto merge of #27947 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #27903, #27904, #27920, #27921, #27924, #27926, #27934, #27935
- Failed merges:
2015-08-23 00:57:39 +00:00
William Throwe
5e9008dfb7 Fix undefined behavior in f64::sqrt
This fixes a reappearance of bug #9987 introduced in
1ddee8070d, which caused
f64::tests::test_sqrt_domain to fail (at least on some systems).
2015-08-22 20:08:53 -04:00
Steve Klabnik
17c1d0ce04 Rollup merge of #27935 - mbrubeck:cfg-test, r=steveklabnik
r? @steveklabnik
2015-08-22 19:15:44 -04:00
Steve Klabnik
1b130326b0 Rollup merge of #27934 - MatejLach:spacing_fix, r=steveklabnik
r @steveklabnik ?
2015-08-22 19:15:44 -04:00
Steve Klabnik
fb58dcdbd2 Rollup merge of #27926 - durka:emphasize-no-bin-doctest, r=steveklabnik
It came up twice in quick succession on IRC that rustdoc doesn't run tests in bin crates, and doesn't give any explanation/warning either as to why. I thought it couldn't hurt to emphasize that in the Book.
2015-08-22 19:15:43 -04:00
Steve Klabnik
3677a1feca Rollup merge of #27924 - pornel:bookthreadjoin, r=steveklabnik
The chapter on concurrency has two examples that both start with:

     let something = thread::spawn(…

but the returned values have different types, because the second example has `.join()` at the end of the expression.

I haven't noticed that join at first, and was wondering how is that possible that the result can have `.is_err()` and `.join()` methods.

I've changed the second example to have the same structure as the first, so they're easy to compare.
2015-08-22 19:15:43 -04:00
Steve Klabnik
b3e9615ed4 Rollup merge of #27921 - tshepang:missing-words, r=steveklabnik 2015-08-22 19:15:43 -04:00
Steve Klabnik
16b5f40f92 Rollup merge of #27920 - tshepang:ancient-syntax, r=steveklabnik 2015-08-22 19:15:43 -04:00
Steve Klabnik
de7a3d32ac Rollup merge of #27904 - tshepang:nit, r=nikomatsakis 2015-08-22 19:15:42 -04:00
Steve Klabnik
fb06272ed3 Rollup merge of #27903 - tshepang:improve-example, r=steveklabnik 2015-08-22 19:15:42 -04:00
bors
50ebf76f22 Auto merge of #27915 - SimonSapin:dotted_i, r=alexcrichton
I was wrong about Unicode not having such language-independent mapping.
2015-08-22 23:15:32 +00:00