about summary refs log tree commit diff
path: root/src/etc
AgeCommit message (Collapse)AuthorLines
2017-02-15Vec, LinkedList, VecDeque, String, and Option NatVis visualizationsAndrew Gaspar-0/+95
2017-02-14Auto merge of #38561 - nagisa:rdrandseed, r=alexcrichtonbors-0/+54
Add intrinsics & target features for rd{rand,seed} One question is whether or not we want to map feature name `rdrnd` to `rdrand` instead. EDIT: as for use case, I would like to port my rdrand crate from inline assembly to these intrinsics.
2017-02-06Clean our src/etc of old filesAlex Crichton-520/+0
Some of these have long since expired, some are no longer in use now that we've jettisoned the makefiles, but none of them should be needed any more.
2017-01-24rustbuild: Start building --enable-extendedAlex Crichton-0/+962
This commit adds a new flag to the configure script, `--enable-extended`, which is intended for specifying a desire to compile the full suite of Rust tools such as Cargo, the RLS, etc. This is also an indication that the build system should create combined installers such as the pkg/exe/msi artifacts. Currently the `--enable-extended` flag just indicates that combined installers should be built, and Cargo is itself not compiled just yet but rather only downloaded from its location. The intention here is to quickly get to feature parity with the current release process and then we can start improving it afterwards. All new files in this PR inside `src/etc/installer` are copied from the rust-packaging repository.
2017-01-07Auto merge of #38781 - SimonSapin:unishrink, r=alexcrichtonbors-13/+58
Reduce the size of static data in std_unicode::tables `BoolTrie` works well for sets of code points spread out through most of Unicode’s range, but is uses a lot of space for sets with few, mostly low, code points. This switches a few of its instances to a similar but simpler trie data structure. CC @raphlinus, who wrote the original `BoolTrie`. ## Before `size_of::<BoolTrie>()` is 1552, which is added to `table.r3.len() * 8 + t.r5.len() + t.r6.len() * 8`: * `Cc_table`: 1632 * `White_Space_table`: 1656 * `Pattern_White_Space_table`: 1640 * Total: 4928 bytes ## After `size_of::<SmallBoolTrie>()` is 32, which is added to `t.r1.len() + t.r2.len() * 8`: * `Cc_table`: 51 * `White_Space_table`: 273 * `Pattern_White_Space_table`: 193 * Total: 517 bytes ## Difference Every Rust program with `std` statically linked should be about 4 KB smaller.
2017-01-03Reduce the size of static data in std_unicode::tables.Simon Sapin-6/+58
`BoolTrie` works well for sets of code points spread out through most of Unicode’s range, but is uses a lot of space for sets with few, mostly low, code points. This switches a few of its instances to a similar but simpler trie data structure. ## Before `size_of::<BoolTrie>()` is 1552, which is added to `table.r3.len() * 8 + t.r5.len() + t.r6.len() * 8`: * `Cc_table`: 1632 * `White_Space_table`: 1656 * `Pattern_White_Space_table`: 1640 * Total: 4928 bytes ## After `size_of::<SmallBoolTrie>()` is 32, which is added to `t.r1.len() + t.r2.len() * 8`: * `Cc_table`: 51 * `White_Space_table`: 273 * `Pattern_White_Space_table`: 193 * Total: 517 bytes ## Difference Every Rust program with `std` statically linked should be about 4 KB smaller.
2017-01-02Remove some dead Python code.Simon Sapin-7/+0
It was used to measure before/after size in cfaf66c94e29a38cd3264b4a55c85b90213543d9.
2017-01-01Add pretty printing of unions in debuggersPhilip Craig-7/+13
Fixes #37479
2016-12-26PTX supportJorge Aparicio-0/+110
- `--emit=asm --target=nvptx64-nvidia-cuda` can be used to turn a crate into a PTX module (a `.s` file). - intrinsics like `__syncthreads` and `blockIdx.x` are exposed as `"platform-intrinsics"`. - "cabi" has been implemented for the nvptx and nvptx64 architectures. i.e. `extern "C"` works. - a new ABI, `"ptx-kernel"`. That can be used to generate "global" functions. Example: `extern "ptx-kernel" fn kernel() { .. }`. All other functions are "device" functions.
2016-12-22Add intrinsics & target features for rd{rand,seed}Simonas Kazlauskas-0/+54
2016-11-28rustc: rework stability to be on-demand for type-directed lookup.Eduard Burtescu-4/+1
2016-11-18Fix `fmt::Debug` for strings, e.g. for Chinese charactersTobias Bucher-8/+44
The problem occured due to lines like ``` 3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;; 4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;; ``` in `UnicodeData.txt`, which the script previously interpreted as two characters, although it represents the whole range. Fixes #34318.
2016-10-19Add libproc_macro from local rust to stage0Josh Stone-0/+1
This library is now required to run rustc 1.14.0.
2016-09-25Haiku: add support for building on HaikuNiels Sascha Reedijk-1/+1
* Hand rebased from Niels original work on 1.9.0
2016-09-17remove useless semicolon from pythonEitan Adler-12/+12
2016-09-17modern style classesEitan Adler-7/+7
2016-09-17make functions static where possibleEitan Adler-11/+22
2016-09-17Remove unused codeEitan Adler-2/+0
2016-09-17prefer tuple to arrayEitan Adler-2/+2
2016-09-17pep8 prefers triple quoted with double quotesEitan Adler-9/+9
2016-09-17simplify python codeEitan Adler-1/+1
2016-08-31Auto merge of #35585 - Kha:gdb-qualified, r=michaelwoeristerbors-20/+20
gdb: Fix pretty-printing special-cased Rust types gdb trunk now reports fully qualified type names, just like lldb. Move lldb code for extracting unqualified names to shared file. For current releases of gdb, `extract_type_name` should just be a no-op. Fixes #35155
2016-08-23Auto merge of #35748 - michaelwoerister:fix-rust-gdb-py-version-check, r=brsonbors-1/+1
Make version check in gdb_rust_pretty_printing.py more compatible. Some versions of Python don't support the `major` field on the object returned by `sys.version_info`. Fixes #35724 r? @brson
2016-08-22Add sublime-rust to CONFIGS.md.Terry Sun-0/+1
2016-08-17Make version check in gdb_rust_pretty_printing.py more compatible.Michael Woerister-1/+1
Some versions of Python don't support the `major` field on the object returned by `sys.version_info`.
2016-08-10gdb: Fix pretty-printing special-cased Rust typesSebastian Ullrich-20/+20
gdb trunk now reports fully qualified type names, just like lldb. Move lldb code for extracting unqualified names to shared file.
2016-08-01Auto merge of #35163 - sanxiyn:rollup, r=sanxiynbors-6/+0
Rollup of 8 pull requests - Successful merges: #34802, #35033, #35085, #35114, #35134, #35140, #35141, #35157 - Failed merges:
2016-08-01Auto merge of #34743 - badboy:llvm-upgrade, r=eddybbors-0/+7
LLVM upgrade As discussed in https://internals.rust-lang.org/t/need-help-with-emscripten-port/3154/46 I'm trying to update the used LLVM checkout in Rust. I basically took @shepmaster's code and applied it on top (though I did the commits manually, the [original commits have better descriptions](https://github.com/rust-lang/rust/compare/master...avr-rust:avr-support). With these changes I was able to build rustc. `make check` throws one last error on `run-pass/issue-28950.rs`. Output: https://gist.github.com/badboy/bcdd3bbde260860b6159aa49070a9052 I took the metadata changes as is and they seem to work, though it now uses the module in another step. I'm not sure if this is the best and correct way. Things to do: * [x] ~~Make `run-pass/issue-28950.rs` pass~~ unrelated * [x] Find out how the `PositionIndependentExecutable` setting is now used * [x] Is the `llvm::legacy` still the right way to do these things? cc @brson @alexcrichton
2016-08-01Remove CMake workaroundSeo Sanghyeon-6/+0
2016-07-31Add libarena from local rust to stage0Brendan Cully-0/+1
This was needed at least when local rust was 1.9.0 on darwin. Fixes #35149
2016-07-29Update parsing llvm-config outputAlex Crichton-0/+7
Now it prints full paths on MSVC, but we're only interested in path names
2016-07-23Escape fewer Unicode codepoints in `Debug` impl of `str`Tobias Bucher-0/+154
Use the same procedure as Python to determine whether a character is printable, described in [PEP 3138]. In particular, this means that the following character classes are escaped: - Cc (Other, Control) - Cf (Other, Format) - Cs (Other, Surrogate), even though they can't appear in Rust strings - Co (Other, Private Use) - Cn (Other, Not Assigned) - Zl (Separator, Line) - Zp (Separator, Paragraph) - Zs (Separator, Space), except for the ASCII space `' '` (`0x20`) This allows for user-friendly inspection of strings that are not English (e.g. compare `"\u{e9}\u{e8}\u{ea}"` to `"éèê"`). Fixes #34318. [PEP 3138]: https://www.python.org/dev/peps/pep-3138/
2016-07-16Auto merge of #34779 - infinity0:master, r=alexcrichtonbors-0/+9
If local-rust is the same as the current version, then force a local-rebuild In Debian, we would like the option to build/rebuild the current release from *either* the current or previous stable release. So we use enable-local-rust instead of enable-local-rebuild, and read the bootstrap key dynamically from whatever is installed locally. In general, it does not make much sense to allow enable-local-rust without also setting the bootstrap key, since the build would fail otherwise. (The way I detect "the bootstrap key of [the local] rustc installation" is a bit hacky, suggestions welcome.)
2016-07-15mk: If local-rust is the same as the current version, then force a local-rebuildXimin Luo-0/+9
2016-07-14Auto merge of #34599 - cuviper:unicode-9.0, r=alexcrichtonbors-1/+1
Update Unicode tables to 9.0 I just updated `unicode.py`'s generated copyright year, then ran it.
2016-07-06Auto merge of #34689 - alexcrichton:fix-nightlies, r=alexcrichtonbors-2/+9
First attempt to fix nightlies This is just https://github.com/rust-lang/rust/pull/34669 but I added some comments so it can land.
2016-07-06etc: Comment why we're binding xrangeAlex Crichton-0/+3
Just mention there are differences between python versions
2016-07-06Merge branch 'master' of https://github.com/dzamlo/rust into fix-nightliesAlex Crichton-2/+6
2016-07-06Auto merge of #34644 - infinity0:master, r=alexcrichtonbors-2/+0
Avoid redundant downloads when bootstrapping If the local file is available, then verify it against the hash we just downloaded, and if it matches then we don't need to download it again.
2016-07-05Use lazy range in gdb pretty printersLoïc Damien-2/+6
2016-07-05Auto merge of #34412 - gnzlbg:document_platform_intrinsics_generate, ↵bors-13/+110
r=alexcrichton Add x86 intrinsics for bit manipulation (BMI 1.0, BMI 2.0, and TBM). This PR adds the LLVM x86 intrinsics for the bit manipulation instruction sets (BMI 1.0, BMI 2.0, and TBM). The objective of this pull-request is to allow building a library that implements all the algorithms offered by those instruction sets, using compiler intrinsics for the targets that support them (by means of `target_feature`). The target features added are: - `bmi`: Bit Manipulation Instruction Set 1.0, available in Intel >= Haswell and AMD's >= Jaguar/Piledriver, - `bmi2`: Bit Manipulation Instruction Set 2.0, available in Intel >= Haswell and AMD's >= Excavator, - `tbm`: Trailing Bit Manipulation, available only in AMD's Piledriver (won't be available in newer CPUs). The intrinsics added are: - BMI 1.0: - `bextr`: Bit field extract (with register). - BMI 2.0: - `bzhi`: Zero high bits starting with specified bit position. - `pdep`: Parallel bits deposit. - `pext`: Parallel bits extract. - TBM: - `bextri`: Bit field extract (with immediate).
2016-07-04Auto merge of #34646 - michaelwoerister:warn-blacklisted-lldb, r=alexcrichtonbors-0/+11
Make rust-lldb warn about unsupported versions of LLDB r? @alexcrichton
2016-07-04Make rust-lldb warn about unsupported versions of LLDBMichael Woerister-0/+11
2016-07-04Auto merge of #34639 - dzamlo:master, r=michaelwoeristerbors-7/+2
Use lazy iterator in vec/slice gdb pretty printers
2016-07-04Use lazy iterator in vec/slice gdb pretty printersLoïc Damien-7/+2
2016-07-04Avoid redundant downloads when bootstrappingXimin Luo-2/+0
If the local file is available, then verify it against the hash we just downloaded, and if it matches then we don't need to download it again.
2016-07-04Added a pretty printer for &mut slicesNikhil Shagrithaya-1/+1
2016-07-01Update Unicode tables to 9.0Josh Stone-1/+1
2016-06-23Auto merge of #34055 - brson:cmake, r=alexcrichtonbors-1/+7
Convert makefiles to build LLVM/compiler-rt with CMake This is certainly buggy, but I have successfully built on x86_64-unknown-linux-gnu and x86_64-pc-windows-gnu. I haven't built successfully on mac yet, and I've seen mysterious test failures on Linux, but I'm interested in throwing this at the bots to see what they think.
2016-06-22Add target_features for the bit manipulation instruction sets: BMI 1.0, BMI ↵gnzlbg-1/+0
2.0, and TBM.