Commit graph

47339 commits

Author SHA1 Message Date
Vadim Chugunov
bd0cf1ba13 Don't use GCC's startup objects (crtbegin.o/crtend.o); build and use our own (for now on for -windows-gnu target only).
Since it isn't possible to disable linkage of just GCC startup objects, we now need logic for finding libc installation directory and copying the required startup files (e.g. crt2.o) to rustlib directory.
Bonus change: use the `-nodefaultlibs` flag on Windows, thus paving the way to direct linker invocation.
2015-10-19 00:42:04 -07:00
Vadim Chugunov
c807ff3b44 Create entry points for unwind frame registry in libstd. 2015-10-18 19:57:32 -07:00
Vadim Chugunov
def917afeb Implement eh_unwind_resume in libstd. 2015-10-18 19:57:32 -07:00
Vadim Chugunov
1da466253c Revisit implementation of custom unwind resume;
Rather than injecting a local `_Unwind_Resume` into the current translation unit,
just replace `resume` instruction with a direct call the the `eh_unwind_resume` lang item.
This is likely to be more robust in the face of future LLVM changes, and also allows us to delegate
work back to libgcc's `_Unwind_Resume`.
2015-10-18 19:57:28 -07:00
bors
4af89fe317 Auto merge of #29091 - luqmana:29073-overflow-cabi, r=pnkfelix
Fixes #29073.
2015-10-18 02:07:01 +00:00
bors
206af38e74 Auto merge of #29105 - billpmurphy:master, r=alexcrichton
Change the spacing/order of lines in the final pointer conversion example to make it more clear.

Very small change, can be rolled up.
2015-10-17 17:53:53 +00:00
bors
971856d0ec Auto merge of #29089 - kickinbahk:edit-testing-docs, r=steveklabnik
When going through the docs, it is not clear that binary files cannot be tested. Additionally, it is hard to find the proper structure of a Rust crate and it took me several hours of looking through the docs to find the crates and modules section. I think we can link to it from here and it will be beneficial to those who are coming to the language.
2015-10-17 15:10:07 +00:00
bors
c7a58b534e Auto merge of #28933 - fhahn:issue-28837-partialeq-note, r=alexcrichton
this PR adds notes for missing `PartialEq` and `PartialOrd`. I've added a test case but it seems like `NOTE` is ignored by the test runner.

#28837
2015-10-17 13:24:01 +00:00
bors
ad5a43a483 Auto merge of #29114 - apasel422:issue-27105, r=alexcrichton
Closes #27105.
2015-10-17 11:38:10 +00:00
bors
e1944b6b0b Auto merge of #29110 - apasel422:shared, r=alexcrichton
Fixes #29037.
Fixes #29106.

r? @pnkfelix 
CC @Gankro
2015-10-17 09:51:30 +00:00
bors
cd79acf21e Auto merge of #29109 - nxnfufunezn:master, r=Manishearth
Fixes : #19668 

r? @Manishearth
2015-10-17 08:04:32 +00:00
bors
32a4bd9ae5 Auto merge of #29102 - petrochenkov:spanvis, r=alexcrichton
Closes https://github.com/rust-lang/rust/issues/28750
`Arm` and `Generics` don't have spans at all, so it's not a visitor's problem, `visit_struct_def` was fixed in https://github.com/rust-lang/rust/pull/28816
2015-10-17 06:16:09 +00:00
bors
4ed46e7225 Auto merge of #29079 - fhahn:remove-unused-files-libcoretest, r=alexcrichton
While working on #28711 I found out that 

*  src/libcoretest/clone.rs 
* src/libcoretest/fmt/float.rs  
* src/libcoretest/intrinsics.rs 

are not used. I am not sure if removing them is the right way to go. If it makes sense to keep (and fix and enable) them, I would be happy to update the PR.
2015-10-17 03:19:45 +00:00
Andrew Paseltiner
eca0732e2e Add test for #27105
Closes #27105.
2015-10-16 21:32:06 -04:00
Luqman Aden
82f08ea21c trans: Use an isize to count the number of registers so we don't underflow for fn's with > 7 args in debug builds. 2015-10-16 21:10:52 -04:00
bors
20a6938c08 Auto merge of #28683 - GuillaumeGomez:rustdoc_error, r=alexcrichton
This PR solves the following issues (or at least help users to understand the problem):

```Rust
#![crate_name = "b"]
#![crate_type = "rlib"]

pub fn his_function_has_a_very_long_name_and_should_make_cargo_doc_explodes_because_it_will_want_to_make_a_filename_with_it_in_excess_of_the_max_filename_length_for_most_filesystem_this_is_not_yet_long_enough_i_need_moreis_function_has_a_very_long_name_and_should_make_cargo_doc_explodes_because_it_will_want_to_make_a_filename_with_it_in_excess_of_the_max_filename_length_for_most_filesystem_this_is_not_yet_long_enough_i_need_more_() {}
```

```Rust
#![crate_name = "b"]
#![crate_type = "rlib"]

pub struct his_function_has_a_very_long_name_and_should_make_cargo_doc_explodes_because_it_will_want_to_make_a_filename_with_it_in_excess_of_the_max_filename_length_for_most_filesystem_this_is_not_yet_long_enough_i_need_moreis_function_has_a_very_long_name_and_should_make_cargo_doc_explodes_because_it_will_want_to_make_a_filename_with_it_in_excess_of_the_max_filename_length_for_most_filesystem_this_is_not_yet_long_enough_i_need_more_;
```

For the maximum filename length chosen, @gkoz gave me [this link](http://unix.stackexchange.com/a/32834).
2015-10-16 23:28:14 +00:00
Andrew Paseltiner
d6bd8d8491 Add Shared pointer and have {Arc, Rc} use it
This change has two consequences:

1. It makes `Arc<T>` and `Rc<T>` covariant in `T`.

2. It causes the compiler to reject code that was unsound with respect
to dropck. See compile-fail/issue-29106.rs for an example of code that
no longer compiles. Because of this, this is a [breaking-change].

Fixes #29037.
Fixes #29106.
2015-10-16 18:35:31 -04:00
Guillaume Gomez
42c01d740b Improve error handling by providing Error struct with Path information 2015-10-17 00:20:00 +02:00
nxnfufunezn
72e0e59574 Updated librustc_lint/builtin.rs to use span_lint_note 2015-10-17 02:14:26 +05:30
bors
be91042913 Auto merge of #29082 - DenisKolodin:patch-3, r=alexcrichton 2015-10-16 20:35:51 +00:00
nxnfufunezn
99ae898c57 Add span_lint_note and span_lint_help to the LintContext 2015-10-17 01:50:33 +05:30
Florian Hahn
510360de21 Add unused modules to libcoretest 2015-10-16 21:15:23 +02:00
kickinbahk
cf926f1c18 Update the testing doc to be more clear and include dynamic link
Fixed some typos and changed the link to the link to crates-and-modules to be dynamic.
2015-10-16 11:45:22 -07:00
bors
747d951e88 Auto merge of #29014 - petrochenkov:stability, r=brson
Stricter checking of stability attributes + enforcement of their invariants at compile time
(+ removed dead file librustc_front/attr.rs)
I intended to enforce use of `reason` for unstable items as well (it normally presents for new items), but it turned out too intrusive, many older unstable items don't have `reason`s.

r? @aturon 
I'm studying how stability works and do some refactoring along the way, so it's probably not the last PR.
2015-10-16 17:47:01 +00:00
DenisKolodin
5736c1d90a Update explanation about offset method 2015-10-16 19:10:01 +03:00
bors
87e26efbf2 Auto merge of #29074 - Manishearth:astconv-doc, r=eddyb
Confusion about what this does caused a bug in Servo's lints.

r? @eddyb
2015-10-16 16:03:57 +00:00
billpmurphy
348cbe0cb9 book: Change raw pointer conversion example
Change the spacing/order of lines in the final pointer conversion example to make it more clear.
2015-10-16 11:42:27 -04:00
bors
24228fee15 Auto merge of #29020 - goyox86:goyox86/rustfmting-libarena, r=nrc
Hi Rustaceans!

This is the result of running latest rustfmt on libarena!

//cc @nrc
2015-10-16 14:20:25 +00:00
Vadim Petrochenkov
a0f2a591e0 Provide span for visit_enum_def 2015-10-16 17:17:14 +03:00
bors
05cfd72ed1 Auto merge of #29086 - fhahn:book-update-lint-plugin-example, r=alexcrichton 2015-10-16 11:33:01 +00:00
bors
beeaea4a70 Auto merge of #28957 - GuillaumeGomez:patch-5, r=Manishearth
cc @nagisa
2015-10-16 09:49:50 +00:00
Guillaume Gomez
a3f9fc69d6 Change error message in rustbook 2015-10-16 10:59:04 +02:00
bors
17776fdc73 Auto merge of #29085 - petrochenkov:nonzero, r=alexcrichton 2015-10-16 08:06:56 +00:00
bors
e4c7bb9ea7 Auto merge of #29081 - rust-lang:arc-example-edit, r=alexcrichton
The text says it's a vector of floats, but the code actually uses a vector of integers.  The type of the Vec doesn't really matter, so I just cut it from the text.
2015-10-16 06:24:11 +00:00
bors
d5a777c175 Auto merge of #29080 - Havvy:remove_doc_style_changing, r=alexcrichton
Fixes issue #29077.

There **are** API changing guidelines in the RFCs, so it might be prudent to put those there. But I'm leaving that up to another person. This PR just removes bad documentation.
2015-10-16 03:10:30 +00:00
kickinbahk
1468b190ac Add to Testing docs to make more clear
When going through the docs, it is not clear that binary files cannot be tested. Additionally, it is hard to find the proper structure of a Rust crate and it took me several hours of looking through the docs to find the crates and modules section. I think we can link to it from here and it will be beneficial to those who are coming to the language.
2015-10-15 17:44:21 -07:00
Florian Hahn
ac097f1a5e Update lint plugin example in book to work with recent master 2015-10-15 23:53:05 +02:00
Vadim Petrochenkov
128ded7110 Make NonZero::new const function 2015-10-16 00:33:45 +03:00
bors
6cdf31b12f Auto merge of #29031 - cristicbz:mtx_inner, r=alexcrichton
The implementation for `into_inner` was a bit more complex than I had hoped for---is there any simpler, less unsafe way of getting around the fact that one can't move out of a `Drop` struct?

See #28968 and rust-lang/rfcs#1269 .
2015-10-15 21:21:27 +00:00
Matt Brubeck
11e65ebe31 Fix minor error in Arc docs
The text says it's a vector of floats, but the code actually uses a vector of integers.  The type of the Vec doesn't really matter, so I just cut it from the text.
2015-10-15 13:52:51 -07:00
Ryan Scheel (Havvy)
48c90a38c1 Remove outdated Changing directory. 2015-10-15 19:35:39 +00:00
Cristi Cobzarenco
90ccefd16e std: add into_inner and get_mut to RwLock 2015-10-15 18:05:54 +01:00
Cristi Cobzarenco
b8e8561e1a std: add into_inner and get_mut to mutex 2015-10-15 18:05:54 +01:00
Manish Goregaokar
e184c2daf1 Add docs for ast_ty_to_prim_ty
Confusion about what this does caused a bug in Servo's lints.
2015-10-15 20:14:52 +05:30
bors
be3d390cf5 Auto merge of #29050 - rkruppe:dec2flt-lonely-sign, r=alexcrichton
Fixes #29042
2015-10-15 14:43:47 +00:00
Jose Narvaez
e7be2c3e99 Fixed comment. 2015-10-15 14:56:03 +01:00
bors
7ac89d27ad Auto merge of #29040 - nrc:save-defid, r=@nikomatsakis
With this change, normalised node ids correspond to def id indices where they exist, or are made disjoint from def ids otherwise.

r? @nikomatsakis
2015-10-15 12:51:31 +00:00
bors
1ad1b7d947 Auto merge of #29021 - ogham:master, r=alexcrichton
This commit adds `#[derive(Clone)]` to `std::fs::Metadata`, making that struct cloneable. Although the exact contents of that struct differ between OSes, they all have it contain only value types, meaning that the data can be re-used without repercussions.

It also adds `#[derive(Clone)]` to every type used by that struct across all OSes, including the various Unix `stat` structs and Windows's `WIN32_FILE_ATTRIBUTE_DATA`.

This stems from my comment here: https://github.com/rust-lang/rfcs/issues/939#issuecomment-140524439
2015-10-15 10:58:37 +00:00
bors
9c9615eb6f Auto merge of #29070 - Manishearth:rollup, r=Manishearth
- Successful merges: #28906, #29022, #29047, #29058, #29059, #29060, #29062, #29066, #29068
- Failed merges:
2015-10-15 09:04:34 +00:00
Manish Goregaokar
7c7195d563 Rollup merge of #29068 - apasel422:tidy, r=alexcrichton
r? @alexcrichton
2015-10-15 13:41:33 +05:30