about summary refs log tree commit diff
path: root/src/librustc/session/config.rs
AgeCommit message (Collapse)AuthorLines
2019-12-03Move Session to librustc_sessionMark Rousskov-2995/+0
2019-12-03Duplicate CrateConfig into SessionMark Rousskov-1/+3
Since it's just a type alias this isn't too difficult and once Session is moved back we can make this be the canonical location.
2019-12-03Directly use types from libsyntax::astMark Rousskov-5/+4
2019-12-03Move NativeLibraryKind to rustc_sessionMark Rousskov-12/+15
2019-12-03Move early lint declarations to librustc_sessionMark Rousskov-2/+2
2019-12-02Rollup merge of #66245 - tmiasko:cfg-sanitize, r=oli-obkRalf Jung-0/+15
Conditional compilation for sanitizers Configure sanitize option when compiling with a sanitizer to make it possible to execute different code depending on whether given sanitizer is enabled or not.
2019-12-01rustc_plugin: Remove support for adding plugins from command lineVadim Petrochenkov-2/+0
2019-12-01Conditional compilation for sanitizersTomasz Miąsko-0/+15
Configure sanitize option when compiling with a sanitizer to make it possible to execute different code depending on whether given sanitizer is enabled or not.
2019-11-30move UnstableFeatures -> rustc_featureMazdak Farrokhzad-3/+3
2019-11-26Rollup merge of #66719 - Mark-Simulacrum:int-normalization, r=CentrilTyler Mandry-9/+7
Store pointer width as u32 on Config This removes the dependency on IntTy, UintTy from Session. It's not obviously a win, but it seems a bit odd to store the AST IntTy/UintTy in Session, rather we store the pointer width as an integer and add normalization methods to IntTy and UintTy.
2019-11-26Auto merge of #66522 - tmiasko:sanitize-flags, r=alexcrichtonbors-9/+61
Add support for sanitizer recover and tracking origins of uninitialized memory * Add support for sanitizer recovery `-Zsanitizer-recover=...` (equivalent to `-fsanitize-recover` in clang). * Add support for tracking origins of uninitialized memory in MemorySanitizer `-Zsanitizer-memory-track-origins` (equivalent to `-fsanitize-memory-track-origins` in clang).
2019-11-24Store ptr_width as u32 on ConfigMark Rousskov-9/+7
This removes the dependency on IntTy, UintTy from Session.
2019-11-22Rollup merge of #66575 - Mark-Simulacrum:no-uii, r=petrochenkovMazdak Farrokhzad-110/+7
Remove pretty printing of specific nodes in AST The ability to print a specific item as identified by NodeId or path seems not particularly useful, and certainly carries quite a bit of complexity with it. This is intended to simplify our CLI parsing a bit and remove a non-uncomplicated piece of it; I largely did this to remove the dependency on NodeId from librustc/session but it's not really necessary to do so in this invasive a way. The alternative is moving it to librustc_interface or driver, probably.
2019-11-22Add support for tracking origins of uninitialized memoryTomasz Miąsko-0/+19
2019-11-22Add support for sanitizer recoveryTomasz Miąsko-9/+42
2019-11-21Aggregation of drive-by cosmetic changes.Alexander Regueiro-1/+1
2019-11-20Remove pretty printing of specific nodes in ASTMark Rousskov-110/+7
The ability to print a specific item as identified by NodeId or path seems not particularly useful, and certainly carries quite a bit of complexity with it.
2019-11-19Mark -Zgenerate-arange-section as TRACKEDJosh Stone-1/+1
2019-11-18Generate DWARF address ranges for faster lookupsJosh Stone-0/+2
This adds a new option `-Zgenerate-arange-section`, enabled by default, corresponding to LLVM's `-generate-arange-section`. This creates a `.debug_aranges` section with DWARF address ranges, which some tools depend on to optimize address lookups (elfutils [22288], [25173]). This only has effect when debuginfo is enabled, and the additional data is small compared to the other debug sections. For example, libstd.so with full debuginfo is about 11MB, with just 61kB in aranges. [22288]: https://sourceware.org/bugzilla/show_bug.cgi?id=22288 [25173]: https://sourceware.org/bugzilla/show_bug.cgi?id=25173 Closes #45246.
2019-11-15Remove -Z flag for suppressing validation mismatch ICEDylan MacKenzie-2/+0
2019-11-09Move pretty parsing into Session optionsMark Rousskov-0/+220
This allows us to query whether PpmEveryBodyLoops is set during expansion and run the everybody loops pass.
2019-11-07Update for unstable option refactoring.Eric Huss-6/+2
2019-11-07Update built-in help for --extern.Eric Huss-1/+1
2019-11-07Stabilize --extern flag without a path.Eric Huss-7/+0
2019-11-03Move crate type checking laterMark Rousskov-1/+1
This allows us to directly pass in a lint buffer
2019-10-22Target-feature documented as unsafe. rustc book and rustc -C help have been ↵togiberlin-1/+2
modified.
2019-10-21Rollup merge of #65647 - nnethercote:rm-unnecessary-traits, r=CentrilMazdak Farrokhzad-4/+4
Remove unnecessary trait bounds and derivations This PR removes unnecessary trait bounds and derivations from many types. r? @nikomatsakis
2019-10-21Remove many unnecessary trait derivations.Nicholas Nethercote-4/+4
2019-10-19move parse_cfgspecs to rustc_interfaceMazdak Farrokhzad-63/+2
2019-10-15syntax::parse::sess -> syntax::sessMazdak Farrokhzad-1/+2
2019-10-14Rollup merge of #65398 - estebank:capitalization-only, r=varkorTyler Mandry-1/+2
Bring attention to suggestions when the only difference is capitalization CC #65386.
2019-10-14Rollup merge of #65379 - Centril:refactor-bso_and_cc, r=petrochenkovMazdak Farrokhzad-181/+283
refactor session::config::build_session_options_and_crate_config I'm not exactly sure what happened in https://github.com/rust-lang/rust/pull/65361#issuecomment-541420179 so in an effort to bisect the error I'm extracting out the first commit so it can hopefully land (I suspect the error is in the 2nd-3rd commits.) r? @petrochenkov (I'll r=you when the PR builder is happy)
2019-10-13Bring attention to suggestions when the only difference is capitalizationEsteban Küber-1/+2
2019-10-13Rollup merge of #65214 - Amanieu:cfg_atomic, r=alexcrichtonMazdak Farrokhzad-11/+14
Split non-CAS atomic support off into target_has_atomic_load_store This PR implements my proposed changes in https://github.com/rust-lang/rust/issues/32976#issuecomment-518542029 by removing `target_has_atomic = "cas"` and splitting `target_has_atomic` into two separate `cfg`s: * `target_has_atomic = 8/16/32/64/128`: This indicates the largest width that the target can atomically CAS (which implies support for all atomic operations). * ` target_has_atomic_load_store = 8/16/32/64/128`: This indicates the largest width that the target can support loading or storing atomically (but may not support CAS). cc #32976 r? @alexcrichton
2019-10-13refactor session::config::build_session_options_and_crate_configMazdak Farrokhzad-181/+283
2019-10-10Auto merge of #59546 - sfanxiang:interminable-ub, r=nagisabors-0/+3
Add llvm.sideeffect to potential infinite loops and recursions LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 **UPDATE:** [Mentoring instructions here](https://github.com/rust-lang/rust/pull/59546#issuecomment-515072429) to unstall this PR
2019-10-08Rollup merge of #65081 - Mark-Simulacrum:remove-profile-queries, ↵Mazdak Farrokhzad-4/+0
r=michaelwoerister Remove -Zprofile-queries r? @michaelwoerister Per [zulip thread](https://zulip-archive.rust-lang.org/131828tcompiler/57361RemoveZprofilequeries.html).
2019-10-08Split non-CAS atomic support off into target_has_atomic_load_storeAmanieu d'Antras-11/+14
2019-10-04Update the documented default of -Z mutable-noaliasJosh Stone-1/+1
It has been fully disabled by default since #54639.
2019-10-03Remove -Zprofile-queriesMark Rousskov-4/+0
2019-10-01Rollup merge of #64722 - Mark-Simulacrum:alt-parallel, r=alexcrichtonTyler Mandry-3/+16
Make all alt builders produce parallel-enabled compilers We're not quite ready to ship parallel compilers by default, but the alt builders are not used too much (in theory), so we believe that shipping a possibly-broken compiler there is not too problematic. r? @nikomatsakis
2019-09-30Make the default parallelism 1Mark Rousskov-3/+16
This changes the default parallelism for parallel compilers to one, instead of the previous default, which was "num cpus". This is likely not an optimal default long-term, but it is a good default for testing whether parallel compilers are not a significant regression over a sequential compiler. Notably, this in theory makes a parallel-enabled compiler behave exactly like a sequential compiler with respect to the jobserver.
2019-09-29Auto merge of #64158 - tmandry:libtest-panic-abort, r=alexcrichtonbors-0/+2
panic=abort support in libtest Add experimental support for tests compiled with panic=abort. Enabled with `-Z panic_abort_tests`. r? @alexcrichton cc @cramertj
2019-09-28Put panic=abort test support behind -Z panic_abort_testsTyler Mandry-0/+2
2019-09-28Trigger ICE on nightly if validators disagreeDylan MacKenzie-0/+2
Also adds an unstable flag to disable the ICE (`-Zsuppress-const-validation-back-compat-ice`) so that nightly users do not have to revert to a previous nightly if their code causes disagreement between the validators.
2019-09-28Gate llvm.sideeffect under -Z insert-sideeffectXiang Fan-0/+3
2019-09-27cleanup dead ast-borrowck / migrate-mode code.Mazdak Farrokhzad-8/+0
2019-09-27Remove unpretty=flowgraph.Mazdak Farrokhzad-10/+0
2019-09-26Rename `MetaItem.node` to `MetaItem.kind`varkor-1/+1
2019-09-26Rename `Lit.node` to `Lit.kind`varkor-1/+1