about summary refs log tree commit diff
path: root/src/test/auxiliary
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-429/+0
2022-07-06experiment: trying to encode the end-to-end test as a ui test via ↵Felix S. Klock II-0/+12
rust_test_helpers. This instance is almost certainly insufficient because we need to force optimization flags for both the C and Rust sides of the code. but lets find out for sure.
2020-05-06test: Fix warnings in `rust_test_helpers.c`Vadim Petrochenkov-0/+2
2020-02-08Auto merge of #68452 - msizanoen1:riscv-abi, r=nagisa,eddybbors-0/+29
Implement proper C ABI lowering for RISC-V This is necessary for full RISC-V psABI compliance when passing argument across C FFI boundary. cc @lenary
2020-02-08test: address comments and pacify the merciless tidy.Eduard-Mihai Burtescu-3/+3
2020-02-08Add non-C-like enumeration tests on Rust->C calls to the ↵John VanEnk-0/+84
abi-sysv64-arg-passing test.
2020-02-04Add tests for RISC-V C ABImsizanoen1-0/+29
2019-07-05rustc_target: avoid negative register counts in the SysV x86_64 ABI.Eduard-Mihai Burtescu-0/+23
2019-06-17Expose `VaListImpl` as the Rust equivalent of `__va_list_tag` and implement ↵Andrei Homescu-5/+12
Clone for it.
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-19FIXME(2665) remove fixme since the c files are included by the testsuiteNiv Kaminer-5/+1
2018-02-24Remove directory `src/rt`Vadim Petrochenkov-0/+286
2016-05-06remove stray files in auxiliary directoryNiko Matsakis-55/+0
2016-05-06kill the old auxiliary directoryNiko Matsakis-8835/+0
2016-05-06move auxiliary builds to a test-relative `aux`Niko Matsakis-54/+0
Instead of finding aux-build files in `auxiliary`, we now search for an `aux` directory relative to the test. So if your test is `compile-fail/foo.rs`, we would look in `compile-fail/aux`. Similarly, we ignore the `aux` directory when searching for tets.
2016-04-26Rollup merge of #33133 - mitaa:rdoc-smth-smth-impl, r=alexcrichtonManish Goregaokar-0/+55
rustdoc: inline all the impls This used to be done to avoid inlining impls referencing private items, but is now unnecessary since we actually check that impls do not reference non-doc-reachable items. fixes #32881 fixes #33025 fixes #33113 r? @alexcrichton
2016-04-24Check reachability for inlined extern links toomitaa-0/+14
An item is inlined and recorded as inlined even if it is `doc(hidden)`, leading to unchecked external links.
2016-04-24syntax: Get rid of token::IdentStyleVadim Petrochenkov-1/+1
2016-04-24Remove, now unnecessary, workaroundmitaa-0/+41
This used to be done to avoid inlining impls referencing private items, but is now unnecessary since we actually check that impls do not reference non-doc-reachable items.
2016-04-19Auto merge of #33002 - mitaa:rdoc-cross-impls, r=alexcrichtonbors-0/+66
rustdoc: refine cross-crate impl inlining This changes the current rule that impls within `doc(hidden)` modules aren't inlined, to only inlining impls where the implemented trait and type are reachable in documentation. fixes #14586 fixes #31948 .. and also applies the reachability checking to cross-crate links. fixes #28480 r? @alexcrichton
2016-04-18rustbuild: Add support for compiletest test suitesAlex Crichton-0/+0
This commit adds support in rustbuild for running all of the compiletest test suites as part of `make check`. The `compiletest` program was moved to `src/tools` (like `rustbook` and others) and is now just compiled like any other old tool. Each test suite has a pretty standard set of dependencies and just tweaks various parameters to the final compiletest executable. Note that full support is lacking in terms of: * Once a test suite has passed, that's not remembered. When a test suite is requested to be run, it's always run. * The arguments to compiletest probably don't work for every possible combination of platforms and testing environments just yet. There will likely need to be future updates to tweak various pieces here and there. * Cross compiled test suites probably don't work just yet, support for that will come in a follow-up patch.
2016-04-18Reachability check cross-crate linksmitaa-0/+22
2016-04-18Perform doc-reachability check for inlined implsmitaa-0/+44
This changes the current rule that impls within `doc(hidden)` modules aren't inlined, to only inlining impls where the implemented trait and type are reachable in documentation.
2016-04-16Auto merge of #32875 - jseyfried:1422_implementation, r=nikomatsakisbors-0/+23
Implement `pub(restricted)` privacy (RFC 1422) This implements `pub(restricted)` privacy from RFC 1422 (cc #32409) behind a feature gate. `pub(restricted)` paths currently cannot use re-exported modules both for simplicity of implementation and for future compatibility with RFC 1560 (cf #31783). r? @nikomatsakis
2016-04-16Add tests for `pub(restricted)`Jeffrey Seyfried-0/+23
2016-04-15Auto merge of #32779 - michaelwoerister:partitioning, r=nikomatsakisbors-1/+39
Add initial version of codegen unit partitioning for incremental compilation. The task of the partitioning module is to take the complete set of translation items of a crate and produce a set of codegen units from it, where a codegen unit is a named set of (translation-item, linkage) pairs. That is, this module decides which translation item appears in which codegen units with which linkage. This version only handles the case of partitioning for incremental compilation, not the regular N-codegen units case. In the future the regular case should be handled too, maybe even doing a bit more analysis to intelligently figure out a good partitioning. One thing that could be improved is the syntax of the codegen unit tests. Right now they still use the compile-fail error specification infrastructure, so everything has to be on one line. Would be nice to be able to format things in a more readable way.
2016-04-15Add initial version of codegen unit partitioning for incremental compilation.Michael Woerister-1/+39
2016-04-14trans: always register an item's symbol, even if duplicated.Eduard Burtescu-0/+27
2016-04-12rustbuild: Migrate tidy checks to RustAlex Crichton-0/+0
This commit rewrites all of the tidy checks we have, namely: * featureck * errorck * tidy * binaries into Rust under a new `tidy` tool inside of the `src/tools` directory. This at the same time deletes all the corresponding Python tidy checks so we can be sure to only have one source of truth for all the tidy checks. cc #31590
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-6/+2
2016-04-02Make the rendering process less pass-awaremitaa-0/+21
Instead of hardcoding knowledge about the strip-private pass into the rendering process we represent (some) stripped items as `ItemEnum::StrippedItem`. Rustdoc will, for example, generate redirect pages for public items contained in private modules which have been re-exported to somewhere externally reachable - this will now not only work for the `strip-private` pass, but for other passes as well, such as the `strip-hidden` pass.
2016-03-30move `const_eval` and `check_match` out of `librustc`Oliver Schneider-1/+1
2016-03-30rename `rustc_const_eval` to `rustc_const_math`Oliver Schneider-2/+2
2016-03-29Use weak_odr linkage when reusing definitions across codegen unitsBjörn Steinbrink-0/+66
When reuing a definition across codegen units, we obviously cannot use internal linkage, but using external linkage means that we can end up with multiple conflicting definitions of a single symbol across multiple crates. Since the definitions should all be equal semantically, we can use weak_odr linkage to resolve the situation. Fixes #32518
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-1/+1
2016-03-25Make the compiler emit an error if the crate graph contains two crates with ↵Michael Woerister-0/+23
the same crate-name and crate-salt but different SVHs.
2016-03-25Use new symbol names for items of various kinds.Michael Woerister-0/+0
2016-03-25Make monomorphized functions use stable symbol names.Michael Woerister-0/+0
2016-03-22Omit `pub` for inlined variant-struct fieldsmitaa-0/+15
2016-03-15Auto merge of #32250 - durka:derive-31574, r=alexcrichtonbors-0/+40
derive: use intrinsics::unreachable over unreachable!() derive: use intrinsics::unreachable over unreachable!() Fixes #31574. Spawned from #32139. r? @alexcrichton
2016-03-14Test fixes, added README for testsAaron Turon-4/+8
2016-03-14Adjust tests for feature gate, and add tests for the gate itselfAaron Turon-0/+4
2016-03-14Add basic specialization tests, including for default itemAaron Turon-2/+131
inheritance. Updates some of the coherence tests as well.
2016-03-14refactor derive-no-std test, add empty struct/enumAlex Burka-0/+40
2016-03-14Auto merge of #30587 - oli-obk:eager_const_eval2, r=nikomatsakisbors-2/+6
typestrong const integers ~~It would be great if someone could run crater on this PR, as this has a high danger of breaking valid code~~ Crater ran. Good to go. ---- So this PR does a few things: 1. ~~const eval array values when const evaluating an array expression~~ 2. ~~const eval repeat value when const evaluating a repeat expression~~ 3. ~~const eval all struct and tuple fields when evaluating a struct/tuple expression~~ 4. remove the `ConstVal::Int` and `ConstVal::Uint` variants and replace them with a single enum (`ConstInt`) which has variants for all integral types * `usize`/`isize` are also enums with variants for 32 and 64 bit. At creation and various usage steps there are assertions in place checking if the target bitwidth matches with the chosen enum variant 5. enum discriminants (`ty::Disr`) are now `ConstInt` 6. trans has its own `Disr` type now (newtype around `u64`) This obviously can't be done without breaking changes (the ones that are noticable in stable) We could probably write lints that find those situations and error on it for a cycle or two. But then again, those situations are rare and really bugs imo anyway: ```rust let v10 = 10 as i8; let v4 = 4 as isize; assert_eq!(v10 << v4 as usize, 160 as i8); ``` stops compiling because 160 is not a valid i8 ```rust struct S<T, S> { a: T, b: u8, c: S } let s = S { a: 0xff_ff_ff_ffu32, b: 1, c: 0xaa_aa_aa_aa as i32 }; ``` stops compiling because `0xaa_aa_aa_aa` is not a valid i32 ---- cc @eddyb @pnkfelix related: https://github.com/rust-lang/rfcs/issues/1071
2016-03-13Auto merge of #31916 - nagisa:mir-passmgr-2, r=arielb1bors-4/+7
Add Pass manager for MIR A new PR, since rebasing the original one (https://github.com/rust-lang/rust/pull/31448) properly was a pain. Since then there has been several changes most notable of which: 1. Removed the pretty-printing with `#[rustc_mir(graphviz/pretty)]`, mostly because we now have `--unpretty=mir`, IMHO that’s the direction we should expand this functionality into; 2. Reverted the infercx change done for typeck, because typeck can make an infercx for itself by being a `MirMapPass` r? @nikomatsakis
2016-03-12std: Clean out deprecated APIsAlex Crichton-2/+4
Removes all unstable and deprecated APIs prior to the 1.8 release. All APIs that are deprecated in the 1.8 release are sticking around for the rest of this cycle. Some notable changes are: * The `dynamic_lib` module was moved into `rustc_back` as the compiler still relies on a few bits and pieces. * The `DebugTuple` formatter now special-cases an empty struct name with only one field to append a trailing comma.
2016-03-10typestrong constant integersOliver Schneider-2/+6
2016-03-09Split TyBareFn into TyFnDef and TyFnPtr.Eli Friedman-34/+38
There's a lot of stuff wrong with the representation of these types: TyFnDef doesn't actually uniquely identify a function, TyFnPtr is used to represent method calls, TyFnDef in the sub-expression of a cast isn't correctly reified, and probably some other stuff I haven't discovered yet. Splitting them seems like the right first step, though.
2016-03-07Change MirPass to also take NodeIdSimonas Kazlauskas-1/+3