summary refs log tree commit diff
path: root/src/test/auxiliary
AgeCommit message (Collapse)AuthorLines
2015-07-31Another backport fixBrian Anderson-0/+1
2015-07-29Feature gate associated type defaultsBrian Anderson-0/+18
There are multiple issues with them as designed and implemented. cc #27364 Conflicts: src/libsyntax/feature_gate.rs src/test/auxiliary/xcrate_associated_type_defaults.rs
2015-07-06After inferring regions, scan for any bounds that are due to a lifetimeNiko Matsakis-0/+21
bound that is likely to change. In that case, it will change to 'static, so then scan down the graph to see whether there are any hard constraints that would prevent 'static from being a valid value here. Report a warning.
2015-06-17Fallout in tests and docs from feature renamingsAlex Crichton-1/+1
2015-06-17Auto merge of #26025 - alexcrichton:update-llvm, r=brsonbors-1/+1
This commit updates the LLVM submodule in use to the current HEAD of the LLVM repository. This is primarily being done to start picking up unwinding support for MSVC, which is currently unimplemented in the revision of LLVM we are using. Along the way a few changes had to be made: * As usual, lots of C++ debuginfo bindings in LLVM changed, so there were some significant changes to our RustWrapper.cpp * As usual, some pass management changed in LLVM, so clang was re-scrutinized to ensure that we're doing the same thing as clang. * Some optimization options are now passed directly into the `PassManagerBuilder` instead of through CLI switches to LLVM. * The `NoFramePointerElim` option was removed from LLVM, favoring instead the `no-frame-pointer-elim` function attribute instead. * The `LoopVectorize` option of the LLVM optimization passes has been disabled as it causes a divide-by-zero exception to happen in LLVM for zero-sized types. This is reported as https://llvm.org/bugs/show_bug.cgi?id=23763 Additionally, LLVM has picked up some new optimizations which required fixing an existing soundness hole in the IR we generate. It appears that the current LLVM we use does not expose this hole. When an enum is moved, the previous slot in memory is overwritten with a bit pattern corresponding to "dropped". When the drop glue for this slot is run, however, the switch on the discriminant can often start executing the `unreachable` block of the switch due to the discriminant now being outside the normal range. This was patched over locally for now by having the `unreachable` block just change to a `ret void`.
2015-06-16rustc: Update LLVMAlex Crichton-1/+1
This commit updates the LLVM submodule in use to the current HEAD of the LLVM repository. This is primarily being done to start picking up unwinding support for MSVC, which is currently unimplemented in the revision of LLVM we are using. Along the way a few changes had to be made: * As usual, lots of C++ debuginfo bindings in LLVM changed, so there were some significant changes to our RustWrapper.cpp * As usual, some pass management changed in LLVM, so clang was re-scrutinized to ensure that we're doing the same thing as clang. * Some optimization options are now passed directly into the `PassManagerBuilder` instead of through CLI switches to LLVM. * The `NoFramePointerElim` option was removed from LLVM, favoring instead the `no-frame-pointer-elim` function attribute instead. Additionally, LLVM has picked up some new optimizations which required fixing an existing soundness hole in the IR we generate. It appears that the current LLVM we use does not expose this hole. When an enum is moved, the previous slot in memory is overwritten with a bit pattern corresponding to "dropped". When the drop glue for this slot is run, however, the switch on the discriminant can often start executing the `unreachable` block of the switch due to the discriminant now being outside the normal range. This was patched over locally for now by having the `unreachable` block just change to a `ret void`.
2015-06-13Use `assert_eq!` instead of `assert!` in testspetrochenkov-8/+8
2015-06-12Cleanup: rename middle::ty::sty and its variants.Eli Friedman-17/+17
Use camel-case naming, and use names which actually make sense in modern Rust.
2015-05-29New tests for cross-crate usages of const fn and so forthNiko Matsakis-0/+16
2015-05-29add const_fn featuresNiko Matsakis-0/+2
2015-05-27Auto merge of #25790 - eddyb:oh-snap-ctfe-arrived, r=alexcrichtonbors-2/+2
2015-05-27Use `const fn` to abstract away the contents of UnsafeCell & friends.Eduard Burtescu-2/+2
2015-05-26Auto merge of #24657 - aochagavia:rustdoc, r=alexcrichtonbors-0/+1
Fixes #24575 Fixes #25673 r? @alexcrichton
2015-05-26rustc_back: Don't pass 'u' to ar invocationsAlex Crichton-0/+32
This flag indicates that when files are being replaced or added to archives (the `r` flag) that the new file should not be inserted if it is not newer than the file that already exists in the archive. The compiler never actually has a use case of *not* wanting to insert a file because it already exists, and this causes rlibs to not be updated in some cases when the compiler was re-run too quickly. Closes #18913
2015-05-25Rustdoc: ignore deref-inherited static methodsAdolfo Ochagavía-0/+1
Fixes #24575
2015-05-24Auto merge of #25168 - Manishearth:register_attr, r=eddybbors-0/+30
This lets plugin authors opt attributes out of the `custom_attribute` and `unused_attribute` checks. cc @thepowersgang
2015-05-22Let MultiItemDecorator take `&Annotatable` (fixes #25683)Manish Goregaokar-5/+5
2015-05-17Allow #[derive()] to generate unsafe methodsManish Goregaokar-0/+2
2015-05-15Auto merge of #25399 - kballard:crate-attributes-cfg_attr, r=alexcrichtonbors-0/+16
Stripping unconfigured items prior to collecting crate metadata means we can say things like `#![cfg_attr(foo, crate_type="lib")]`. Fixes #25347.
2015-05-14Move configuration 1 phase before crate metadata collectionKevin Ballard-0/+16
Stripping unconfigured items prior to collecting crate metadata means we can say things like `#![cfg_attr(foo, crate_type="lib")]`. Fixes #25347.
2015-05-13Unignore some tests in stage1Tamir Duberstein-1/+0
We don't have any pending snapshot-requiring changes. Tests which continue to be ignored are those that are broken by codegen changes.
2015-05-13Remove errant lineTamir Duberstein-2/+0
2015-05-13RebasingNick Cameron-18/+10
2015-05-12Merge branch 'master' intoNick Cameron-287/+95
2015-05-09Remove auxiliary files not used since eb4d39eCarol Nichols-40/+0
2015-05-09Remove auxiliary file not used since 17da4c7Carol Nichols-27/+0
2015-05-09Remove auxiliary files not used since 812637eCarol Nichols-164/+0
2015-05-08Remove references to deprecated `extern crate "foo" as bar` syntaxCarol Nichols-64/+0
This syntax was removed in b24a3b8 but references remained in the grammar, the reference, rustdoc generation, and some auxiliary test files that don't seem to have been used since 812637e.
2015-05-07test for register_attribute()Manish Goregaokar-0/+30
2015-05-05test: update run-pass tests to not use mutable transmutingSean McArthur-2/+2
2015-05-02Add regression test for #19163Johannes Oertel-0/+16
Closes #19163.
2015-05-02Rename AstBuilder::expr_int -> AstBuilder::expr_isizeManish Goregaokar-3/+4
2015-05-01Add test for custom deriving plugins which rely on field attributesManish Goregaokar-0/+86
2015-05-01Get tests passingNick Cameron-76/+26
2015-04-30Merge branch 'master' into mulit-decorNick Cameron-5/+111
2015-04-29Auto merge of #24932 - pnkfelix:fix-issue-24687, r=huonwbors-0/+57
metdata: Fix zero-normalization of the pos of a `MultiByteChar` Fix #24687 The source byte/character mappings for every crate track the collection of multi-characters from its source files specially. When we import the source information for another file into the current compilation unit, we assign its byte-positions unique values by shifting them all by a fixed adjustment, tracked in the `start_pos` field. But when we pull out the source span information for one function from one crate and into our own crate, we need to re-normalize the byte positions: subtracting the old `start_pos` and adding the new `start_pos`. The `new_imported_filemap(..)` method handles adding the new `start_pos`, so all `creader` needs to do is re-normalize each `pos` to zero. It seems like it was indeed trying to do this, but it mistakenly added the old `start_pos` instead of subtracting it.
2015-04-29Regression test for issue 24687.Felix S. Klock II-0/+57
use visible characters for the multibyte character filler.
2015-04-29Auto merge of #24681 - tamird:unignore-android, r=alexcrichtonbors-0/+7
There are still quite a few ignored Android tests kicking around, most of which were added in 445faca8441aae34c91318b6ad9e2049885af8dc, which has a pretty unfortunate commit message. r? @alexcrichton
2015-04-28#10356: WarningsTamir Duberstein-0/+5
2015-04-28#10381: WarningsTamir Duberstein-0/+2
2015-04-28Register new snapshotsTamir Duberstein-3/+0
2015-04-27Auto merge of #23606 - quantheory:associated_const, r=nikomatsakisbors-0/+46
Closes #17841. The majority of the work should be done, e.g. trait and inherent impls, different forms of UFCS syntax, defaults, and cross-crate usage. It's probably enough to replace the constants in `f32`, `i8`, and so on, or close to good enough. There is still some significant functionality missing from this commit: - ~~Associated consts can't be used in match patterns at all. This is simply because I haven't updated the relevant bits in the parser or `resolve`, but it's *probably* not hard to get working.~~ - Since you can't select an impl for trait-associated consts until partway through type-checking, there are some problems with code that assumes that you can check constants earlier. Associated consts that are not in inherent impls cause ICEs if you try to use them in array sizes or match ranges. For similar reasons, `check_static_recursion` doesn't check them properly, so the stack goes ka-blooey if you use an associated constant that's recursively defined. That's a bit trickier to solve; I'm not entirely sure what the best approach is yet. - Dealing with consts associated with type parameters will raise some new issues (e.g. if you have a `T: Int` type parameter and want to use `<T>::ZERO`). See rust-lang/rfcs#865. - ~~Unused associated consts don't seem to trigger the `dead_code` lint when they should. Probably easy to fix.~~ Also, this is the first time I've been spelunking in rustc to such a large extent, so I've probably done some silly things in a couple of places.
2015-04-25Remove remaining tests for hygiene-encoded identifiers.Geoffry Song-26/+0
Such things no longer exist.
2015-04-24Remove obsolete "MarkerTrait" from tests.Sean Patrick Santos-4/+2
2015-04-25Merge branch 'syntax' of https://github.com/aochagavia/rust into mulit-decorNick Cameron-2/+81
Conflicts: src/librustc/plugin/registry.rs src/libsyntax/ext/base.rs src/libsyntax/ext/cfg_attr.rs src/libsyntax/ext/deriving/mod.rs src/libsyntax/ext/expand.rs src/libsyntax/print/pprust.rs src/test/auxiliary/macro_crate_test.rs
2015-04-23Feature-gate associated constants.Sean Patrick Santos-0/+2
2015-04-23Fix a number of bugs that interfered with cross-crate usage of associated ↵Sean Patrick Santos-0/+46
consts.
2015-04-21rollup merge of #24636: alexcrichton/remove-deprecatedAlex Crichton-79/+31
Conflicts: src/libcore/result.rs
2015-04-21test: Fix fallout in testsAlex Crichton-79/+31
2015-04-21Remove references to `old_{path,io}`Tamir Duberstein-1/+1