Commit Graph

70178 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
026214c858 rustc: collapse Layout::FatPointer into Layout::Univariant. 2017-11-19 02:14:32 +02:00
Eduard-Mihai Burtescu
3fd6b00082 rustc_trans: query LLVM types from a layout instead of a Ty. 2017-11-19 02:14:32 +02:00
Eduard-Mihai Burtescu
1477119344 rustc_trans: keep a layout instead of a type in {Lvalue,Operand}Ref. 2017-11-19 02:14:32 +02:00
Eduard-Mihai Burtescu
88f70323e4 rustc_trans: nest abi::ArgType's for fat pointers instead of eagerly flattening. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
f2e7e17d9e rustc_trans: pass OperandRef arguments to trans_intrinsic_call. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
b2d52d2132 rustc: do not pub use Layout::* in layout. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
d0ab6e8644 rustc_trans: compute LLVM types from type layouts, not Rust types. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
fad99542c8 rustc: split layout::FieldPlacement::Linear back into Union and Array. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
18d54aa7d5 rustc: move layout::Struct into FieldPlacement/Abi. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
08f9f134fd rustc: hide details in Layout in favor of Abi or FieldPlacement. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
ed788a62f6 rustc: store CachedLayout for each variant of enum Layout's instead of Struct. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
bd51a2bc19 rustc: move size/alignment from Layout into layout::Abi. 2017-11-19 02:14:31 +02:00
Eduard-Mihai Burtescu
bd86f3739e rustc: make Layout::NullablePointer a lot more like Layout::General. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
33a205b56f rustc: collapse Layout::CEnum into Layout::General. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
658ebfc788 rustc: give Layout::CEnum a discriminant field like Layout::General. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
d318b9c27b rustc: move CEnum's signedness into Primitive::Int. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
61c2bd9ca4 rustc: use Primitive instead of Integer for CEnum and General discriminants. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
335bd8ea1b rustc: do not track non_zero in Layout. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
02276e9f49 rustc: collapse Layout::{Raw,StructWrapped}NullablePointer into one variant. 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
caef91d7c6 rustc: introduce layout::Abi for reduced general ABI "passing style". 2017-11-19 02:14:30 +02:00
Eduard-Mihai Burtescu
1dc572b85e rustc: represent the discriminant as a field for Layout::{Raw,StructWrapped}NullablePointer. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
30710609c0 rustc_trans: treat General enums like unions. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
9a0efea4c2 rustc: pre-compute field placements out of Layout. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
8c4d5af52b rustc: remove Ty::layout and move everything to layout_of. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
8864668d53 rustc: re-complicate the TyLayout API and use better names. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
aa811d728a rustc: remove source field path from Layout::StructWrappedNullablePointer. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
bc8e1f7efa rustc: use an offset instead of a field path in Layout::StructWrappedNullablePointer. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
50a3fd0097 rustc: remove useless 0 prefix from Layout::StructWrappedNullablePointer's discrfield. 2017-11-19 02:14:29 +02:00
Eduard-Mihai Burtescu
44eef7c9ac rustc: do not inject discriminant fields into Layout::General's variants. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
8afa3a01e6 rustc_trans: always insert alignment padding, even before the first field. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
0a1fcc32a6 rustc_trans: use *[T; 0] for slice data pointers instead of *T. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
84b5a3d84d rustc_trans: remove the in_memory_type_of distinction. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
5b1fdaeb80 rustc_trans: use more of the trans::mir and ty::layout APIs throughout. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
260c41b4b8 rustc_trans: do not introspect LLVM aggregate field types. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
b8671bef97 rustc_trans: remove obsolete Type methods. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
386d59dc89 rustc_trans: use a predictable layout for constant ADTs. 2017-11-19 02:14:28 +02:00
Eduard-Mihai Burtescu
f44b099187 rustc_trans: avoid working with sizes/offsets and alignments as integers. 2017-11-19 02:14:24 +02:00
Garrett Berg
44da4a0656 Add doc for Reading from &str and some related cleanup 2017-11-18 16:45:04 -07:00
Eduardo Pinho
0855ea1832 impl From<T> for RwLock<T> 2017-11-18 21:05:06 +00:00
bors
6160040d85 Auto merge of #46039 - oli-obk:test_suggestions, r=petrochenkov
Remove left over dead code from suggestion diagnostic refactoring

More cleanups after #41876 and #45741
2017-11-18 20:52:19 +00:00
Eduard-Mihai Burtescu
9deea47c96 rustc_mir: always downcast enums, even if univariant. 2017-11-18 20:52:38 +02:00
Niko Matsakis
83f5a9605f fix compile-fail tests 2017-11-18 13:09:19 -05:00
bors
b1409af73d Auto merge of #46032 - KiChjang:ignore-borrowck-statics, r=nikomatsakis
Ignore borrowck for static lvalues and allow assignment to static muts

Fixes #45129.
Fixes #45641.
2017-11-18 17:30:26 +00:00
Eduardo Pinho
1bfc6c1296 impl From<T> for Mutex<T> 2017-11-18 16:52:46 +00:00
Niko Matsakis
22c0cbfa86 remove generator_interiors map 2017-11-18 11:26:46 -05:00
Niko Matsakis
413f07438e remove generator_sigs from TypeckTables 2017-11-18 11:16:25 -05:00
bors
1f491e07c9 Auto merge of #46009 - kennytm:fix-38878-again, r=alexcrichton
Fix #38878 again — restart linker when seeing SIGBUS in additional to SIGSEGV.

In https://github.com/rust-lang/rust/pull/45985#issuecomment-344586645 we see a linker crashed due to Bus Error (signal 10) on macOS. The error was not caught by #40422 since the PR only handles Segmentation Fault (signal 11). The crash log indicates the problem is the same as #38878, so we just amend #40422 to include SIGBUS as well.

(Additionally, modified how the crash logs are printed so that irrelevant logs are truly filtered out.)
2017-11-18 15:00:13 +00:00
Guillaume Gomez
6047a03659 Add tooltip for important traits display 2017-11-18 14:37:10 +01:00
Niko Matsakis
d8969815cf comment wf more 2017-11-18 07:49:52 -05:00
Niko Matsakis
27bedfa36b give better error messages when a cycle arises 2017-11-18 07:49:52 -05:00