about summary refs log tree commit diff
path: root/src/librustc_trans_utils/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-05-17Rename trans to codegen everywhere.Irina Popa-63/+0
2018-04-26Rename rustc_back::target to rustc_target::spec.Irina Popa-1/+1
2018-04-12Auto merge of #49558 - Zoxc:sync-misc, r=michaelwoeristerbors-1/+1
Even more thread-safety changes r? @michaelwoerister
2018-04-10Combine Session.entry_fn and Session.entry_type and make them thread-safeJohn Kåre Alsaker-1/+1
2018-04-08Move deny(warnings) into rustbuildMark Simulacrum-1/+0
This permits easier iteration without having to worry about warnings being denied. Fixes #49517
2018-04-05Bump the bootstrap compiler to 1.26.0 betaAlex Crichton-2/+0
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language features!
2018-03-26Stabilize i128_typeMark Mansi-1/+1
2018-03-26Stabilize conservative_impl_traitTaylor Cramer-1/+1
2018-03-20Stabilize slice patterns without `..`Vadim Petrochenkov-1/+0
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-07Merge branch 'incr_attr_queries' of https://github.com/wesleywiser/rust into ↵Alex Crichton-2/+0
update-cargo
2018-03-07Merge branch 'metadata-send-sync' of https://github.com/Zoxc/rust into ↵Alex Crichton-1/+1
update-cargo
2018-03-06Remove export_name queryWesley Wiser-2/+0
Part of #47320
2018-03-07Make metadata references Send + SyncJohn Kåre Alsaker-1/+1
2018-03-06Clean up handling of symbol export information.Michael Woerister-54/+1
2018-02-20stage0 cfg cleanupMark Simulacrum-1/+0
2018-01-19Fix ICEbjorn3-0/+1
2018-01-19Fix review commentsbjorn3-2/+0
2018-01-19Hot plug rustc_transbjorn3-0/+4
2018-01-19Allow runtime switching between trans backendsbjorn3-0/+8
2017-12-18Add rustc_data_structures for trans_utils/lib.rsMaik Klein-0/+1
2017-12-18Remove duplicated functions from trans::common.rsMaik Klein-3/+1
2017-12-18Move common.rs functionality into TyCtxtMaik Klein-1/+2
2017-12-18Move trans_item and monomorphize to rustc_mirMaik Klein-2/+0
2017-12-18Move collector to monomorphizeMaik Klein-2/+0
2017-12-17Add sync module to rustc_data_structuresJohn Kåre Alsaker-1/+0
2017-11-07Don't duplicate logic of when an Instance requests to be inlined.Michael Woerister-6/+3
2017-11-07Fix translation item collection for inline and const fns.Michael Woerister-2/+2
2017-10-28Auto merge of #44295 - plietar:extern-types, r=arielb1bors-1/+1
Implement RFC 1861: Extern types A few notes : - Type parameters are not supported. This was an unresolved question from the RFC. It is not clear how useful this feature is, and how variance should be treated. This can be added in a future PR. - `size_of_val` / `align_of_val` can be called with extern types, and respectively return 0 and 1. This differs from the RFC, which specified that they should panic, but after discussion with @eddyb on IRC this seems like a better solution. If/when a `DynSized` trait is added, this will be disallowed statically. - Auto traits are not implemented by default, since the contents of extern types is unknown. This means extern types are `!Sync`, `!Send` and `!Freeze`. This seems like the correct behaviour to me. Manual `unsafe impl Sync for Foo` is still possible. - This PR allows extern type to be used as the tail of a struct, as described by the RFC : ```rust extern { type OpaqueTail; } #[repr(C)] struct FfiStruct { data: u8, more_data: u32, tail: OpaqueTail, } ``` However this is undesirable, as the alignment of `tail` is unknown (the current PR assumes an alignment of 1). Unfortunately we can't prevent it in the general case as the tail could be a type parameter : ```rust #[repr(C)] struct FfiStruct<T: ?Sized> { data: u8, more_data: u32, tail: T, } ``` Adding a `DynSized` trait would solve this as well, by requiring tail fields to be bound by it. - Despite being unsized, pointers to extern types are thin and can be casted from/to integers. However it is not possible to write a `null<T>() -> *const T` function which works with extern types, as I've explained here : https://github.com/rust-lang/rust/issues/43467#issuecomment-321678621 - Trait objects cannot be built from extern types. I intend to support it eventually, although how this interacts with `DynSized`/`size_of_val` is still unclear. - The definition of `c_void` is unmodified
2017-10-27Move type_has_metadata to trans_utilsPaul Liétar-1/+1
2017-10-26Bump to 1.23 and update bootstrapAlex Crichton-2/+0
This commit updates the bootstrap compiler, bumps the version to 1.23, updates Cargo, updates books, and updates crates.io dependencies
2017-10-19Move collector to rustc_trans_utilsbjorn3-0/+5
2017-09-23Fix some tests with no llvm buildbjorn3-0/+14
2017-09-23Fix for upstream changesbjorn3-3/+3
2017-09-23Merge rustc_trans_trait into rustc_trans_utilsbjorn3-0/+7
2017-09-23Fix rustc_trans_utils::find_exported_symbolsbjorn3-1/+1
Fix denied warnings
2017-09-23Allow writing metadata without llvmbjorn3-0/+60
2017-09-16change #![feature(const_fn)] to specific gatesAlex Burka-1/+2
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-08-11Actually make rustc_driver compile without llvmbjorn3-0/+38