summary refs log tree commit diff
path: root/src/etc
AgeCommit message (Collapse)AuthorLines
2018-11-25Rollup merge of #56144 - tromey:Bug-55771-btreemap, r=alexcrichtonPietro Albini-55/+41
Fix BTreeSet and BTreeMap gdb pretty-printers The BTreeSet and BTreeMap gdb pretty-printers did not take the node structure into account, and consequently only worked for shallow sets. This fixes the problem by iterating over child nodes when needed. This patch avoids the current approach of implementing some of the value manipulations in debugger-indepdendent code. This was done for convenience: a type lookup was needed for the first time, and there currently are no lldb formatters for these types. Closes #55771
2018-11-24Rollup merge of #55767 - tromey:disable-some-pretty-printers, r=alexcrichtonkennytm-18/+25
Disable some pretty-printers when gdb is rust-enabled A rust-enabled gdb already knows how to display string slices, structs, tuples, and enums (and after #54004, the pretty-printers can't handle enums at all). This patch disables these pretty-printers when gdb is rust-enabled. The "gdb-pretty-struct-and-enums-pre-gdb-7-7.rs" test is renamed, because it does not seem to depend on any behavior of that version of gdb, and because gdb 7.7 is 4 years old now.
2018-11-22Rollup merge of #55961 - tromey:Bug-55944-vecdeque, r=nikomatsakisGuillaume Gomez-3/+11
Fix VecDeque pretty-printer This fixes the VecDeque pretty-printer to handle cases where head < tail. Closes #55944
2018-11-21Fix BTreeSet and BTreeMap gdb pretty-printersTom Tromey-55/+41
The BTreeSet and BTreeMap gdb pretty-printers did not take the node structure into account, and consequently only worked for shallow sets. This fixes the problem by iterating over child nodes when needed. This patch avoids the current approach of implementing some of the value manipulations in debugger-indepdendent code. This was done for convenience: a type lookup was needed for the first time, and there currently are no lldb formatters for these types. Closes #55771
2018-11-19Disable some pretty-printers when gdb is rust-enabledTom Tromey-18/+25
A rust-enabled gdb already knows how to display string slices, structs, tuples, and enums (and after #54004, the pretty-printers can't handle enums at all). This patch disables these pretty-printers when gdb is rust-enabled. The "gdb-pretty-struct-and-enums-pre-gdb-7-7.rs" test is renamed, because it does not seem to depend on any behavior of that version of gdb, and because gdb 7.7 is 4 years old now.
2018-11-14Fix VecDeque pretty-printerTom Tromey-3/+11
This fixes the VecDeque pretty-printer to handle cases where head < tail. Closes #55944
2018-11-11Fix typos.Bruce Mitchener-1/+1
2018-11-07Rollup merge of #55441 - xfix:patch-12, r=aturonkennytm-1/+0
Remove unused re import in gdb_rust_pretty_printing
2018-10-29Rollup merge of #55447 - frewsxcv:frewsxcv-rename, r=Mark-SimulacrumPietro Albini-1/+1
Fix invalid path in generate-deriving-span-tests.py. This script broke after #53196 – the tests were moved.
2018-10-28Fix invalid path in generate-deriving-span-tests.py.Corey Farwell-1/+1
This script broke after #53196 after the tests were moved.
2018-10-28Remove unused re import in gdb_rust_pretty_printingKonrad Borowski-1/+0
2018-10-28Remove unused sys import from generate-deriving-span-testsKonrad Borowski-1/+1
2018-10-23fix typos in various placesMatthias Krüger-1/+1
2018-10-21Remove the parse-fail test suiteVadim Petrochenkov-1/+1
2018-10-12Rollup merge of #54989 - Munksgaard:fix-htmldocck-typos, r=tmandrykennytm-25/+27
Fix spelling in the documentation to htmldocck.py I was reading through htmldocck.py, and decided to attempt to clean it up a little bit. Let me know if you disagree with my edits.
2018-10-11Fix spelling in the documentation to htmldocck.pyPhilip Munksgaard-25/+27
2018-10-09fix tidyJorge Aparicio-3/+5
2018-10-09gdb_rust_pretty_printing: adapt to the changes in the layout of btree::LeafNodeJorge Aparicio-4/+10
2018-09-29Revert "Auto merge of #53508 - japaric:maybe-uninit, r=RalfJung"Ralf Jung-12/+4
This reverts commit c6e3d7fa3113aaa64602507f39d4627c427742ff, reversing changes made to 4591a245c7eec9f70d668982b1383cd2a6854af5.
2018-09-22fix tidyJorge Aparicio-3/+5
2018-09-22gdb_rust_pretty_printing: adapt to the changes in the layout of btree::LeafNodeJorge Aparicio-4/+10
2018-09-07Have rust-lldb look for the rust-enabled lldbTom Tromey-9/+17
We're shipping a rust-enabled lldb, but the "lldb" executable is not installed into the "bin" directory by rustup. See the discussion in https://github.com/rust-lang-nursery/rustup.rs/pull/1492 for background on this decision. There, we agreed to have rust-lldb prefer the rust-enabled lldb if it is installed. This patch changes dist.rs to put lldb into rustlib, following what was done for the other LLVM tools in #53955, and then fixes rust-lldb to prefer that lldb, if it exists. See issue #48168
2018-08-30Fix direction of slashes in the help text example.Philip Daniels-3/+3
2018-08-28Add rust-gdbgui script.Philip Daniels-0/+65
This script invokes the gdbgui graphical GDB front-end with the Rust pretty printers loaded. The script does not install gdbgui, that must be done manually.
2018-08-19Exec gdb and lldb in rust-* wrappersftilde-2/+2
This way the process we get by calling rust-{gdb,lldb} is an actual {gdb,lldb} instance and not (perhaps surprisingly) a script waiting for the debugger process to finish. Thus, sending a SIGINT to the spawned process stops execution of the child, for example.
2018-08-19Avoid creation of command temp file in rust-lldbftilde-12/+9
Arguments are passed on the command line via --one-line-before-file (instead of in a file via --source-before-file) to lldb.
2018-08-15pretty printing for btreemapUnknown-0/+51
2018-08-14Rollup merge of #53112 - fukatani:pretty-print-btreeset, r=michaelwoeristerkennytm-0/+48
pretty print BTreeSet I want pretty printing for BTreeSet. ```rust use std::collections::*; fn main() { let mut s = BTreeSet::new(); s.insert(5); s.insert(3); s.insert(7); s.remove(&3); println!("{:?}", s); } ``` ``` (gdb) b 9 (gdb) p s $1 = BTreeSet<i32> with 2 elements = {[0] = 5, [1] = 7} ``` This is analogy of pretty printing for C++ std::set.
2018-08-13fix behaviorUnknown-3/+2
2018-08-13bug fixUnknown-1/+1
2018-08-06pretty print BTreeSetfukatani-0/+49
2018-08-05Remove unnecessary or invalid feature attributesvarkor-4/+0
2018-07-29fix coding styleUnknown-2/+4
2018-07-29pretty print for std::collections::vecdequeUnknown-0/+56
2018-07-16Enable default inlining in platform intrinsicsljedrz-3/+0
2018-07-02Add some more additional functions to the shimest31-0/+4
They are all needed now due to the stdsimd update.
2018-06-04slightly improve rustdoc xml path errorGuillaume Gomez-9/+13
2018-05-21rust-gdb: work around the re-used -d argument in cgdbBenjamin Lamowski-1/+1
Use --directory= instead of -d, because cgdb reuses the short option.
2018-04-25Use UFCSvarkor-1/+1
2018-04-25Ensure derive(PartialOrd) is no longer accidentally exponentialvarkor-1/+1
Previously, two comparison operations would be generated for each field, each of which could delegate to another derived PartialOrd. Now we use ordering and optional chaining to ensure each pair of fields is only compared once.
2018-04-15Auto merge of #49881 - varkor:partialord-opt, r=Manishearthbors-1/+1
Fix derive(PartialOrd) and optimise final field operation ```rust // Before (`lt` on 2-field struct) self.f1 < other.f1 || (!(other.f1 < self.f1) && (self.f2 < other.f2 || (!(other.f2 < self.f2) && (false) )) ) // After self.f1 < other.f1 || (!(other.f1 < self.f1) && self.f2 < other.f2 ) // Before (`le` on 2-field struct) self.f1 < other.f1 || (!(other.f1 < self.f1) && (self.f2 < other.f2 || (!(other.f2 < self.f2) && (true) )) ) // After self.f1 < other.f1 || (self.f1 == other.f1 && self.f2 <= other.f2 ) ``` (The big diff is mainly because of a past faulty rustfmt application that I corrected 😒) Fixes #49650 and fixes #49505.
2018-04-14Rollup merge of #49886 - varkor:generate-deriving-span-tests-usability, ↵kennytm-6/+19
r=nikomatsakis Ignore copyright year when generating deriving span tests Previously, generate-deriving-span-tests.py would regenerate all the tests anew, even if they hadn't changed. This creates unnecessary diffs that only change the copyright year. Now we check to see if any of the content of the test has changed before generating the new one.
2018-04-12Move the core::char module to its own directorySimon Sapin-254/+0
2018-04-11Update compile-fail testsvarkor-1/+1
These now spit out errors for `<=` and `>=` as well.
2018-04-11Ignore copyright year when generating deriving span testsvarkor-6/+19
Previously, generate-deriving-span-tests.py would regenerate all the tests anew, even if they hadn't changed. This creates unnecessary diffs that only change the copyright year. Now we check to see if any of the content of the test has changed before generating the new one.
2018-03-22Use GNU version of fgrep/egrep tool if availableSébastien Marie-0/+5
It is mostly for BSD system. Some tests (run-make/issue-35164 and run-make/cat-and-grep-sanity-check) are failing with BSD fgrep, whereas they pass with gnu version (gfgrep).
2018-03-06Remove unused 'src/etc/ziggurat_tables.py' Python script.Corey Farwell-127/+0
This Python script was used to generate a `ziggurat_tables.rs` file in librand, but librand was moved out of the repo. * https://github.com/rust-lang/rust/commits/master/src/librand/distributions/ziggurat_tables.rs * https://github.com/rust-lang-nursery/rand/blob/master/utils/ziggurat_tables.py
2018-03-05Remove seemingly unused sugarise-doc-comments Python script.Corey Farwell-93/+0
This Python script converts documentation comments from the `#[doc = "..."]` attribute to the `///` syntax. It was added six years ago, presumably to help with the transition when `///` was implemented and hasn't really been touched since. I don't think there's much value in keeping it around at this point.
2018-03-03rust: Import LLD for linking wasm objectsAlex Crichton-0/+2
This commit imports the LLD project from LLVM to serve as the default linker for the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently removed along with "binaryen linker" support in rustc. Moving to LLD brings with it a number of benefits for wasm code: * LLD is itself an actual linker, so there's no need to compile all wasm code with LTO any more. As a result builds should be *much* speedier as LTO is no longer forcibly enabled for all builds of the wasm target. * LLD is quickly becoming an "official solution" for linking wasm code together. This, I believe at least, is intended to be the main supported linker for native code and wasm moving forward. Picking up support early on should help ensure that we can help LLD identify bugs and otherwise prove that it works great for all our use cases! * Improvements to the wasm toolchain are currently primarily focused around LLVM and LLD (from what I can tell at least), so it's in general much better to be on this bandwagon for bugfixes and new features. * Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which means a postprocessor is no longer needed to show off Rust's "small wasm binary size". LLD is added in a pretty standard way to rustc right now. A new rustbuild target was defined for building LLD, and this is executed when a compiler's sysroot is being assembled. LLD is compiled against the LLVM that we've got in tree, which means we're currently on the `release_60` branch, but this may get upgraded in the near future! LLD is placed into rustc's sysroot in a `bin` directory. This is similar to where `gcc.exe` can be found on Windows. This directory is automatically added to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd` linker which implements the interface that `wasm-ld`, LLD's frontend, expects. Like Emscripten the LLD target is currently only enabled for Tier 1 platforms, notably OSX/Windows/Linux, and will need to be installed manually for compiling to wasm on other platforms. LLD is by default turned off in rustbuild, and requires a `config.toml` option to be enabled to turn it on. Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD has a native option for controlling this. [gc]: https://reviews.llvm.org/D42511
2018-02-10fix typos in src/{bootstrap,ci,etc,lib{backtrace,core,fmt_macros}}Matthias Krüger-4/+4