about summary refs log tree commit diff
path: root/src/test/ui/symbol-names
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-2544/+0
2022-09-26address reviewb-naber-4/+4
2022-05-12Bless tests.Camille GILLOT-4/+4
2022-04-27Use decorated names for linked_symbols on WindowsGary Guo-0/+13
2022-03-01Rollup merge of #94359 - tmiasko:legacy-verbose-const, r=petrochenkovMatthias Krüger-96/+1304
Fix inconsistent symbol mangling of integers constants with -Zverbose The `PrettyPrinter` changes formatting of array size and integer constants based on `-Zverbose`, so its implementation cannot be used in legacy symbol mangling. Example symbol demangling before changes: ```console $ cat a.rs pub struct A<T>(T); impl A<[u8; 128]> { pub fn f() {} } $ rustc --crate-type=lib a.rs -Zverbose=n && nm -C ./liba.rlib 00000000 T a::A<[u8; 128]>::f $ rustc --crate-type=lib a.rs -Zverbose=y && nm -C ./liba.rlib 00000000 T a::A<[u8; Const { ty. usize, val. Value(Scalar(0x0000000000000080)) }]>::f ```
2022-02-28Fix inconsistent symbol mangling of integers constants with -ZverboseTomasz Miąsko-2/+472
The `PrettyPrinter` changes formatting of array size and integer constants based on `-Zverbose`, so its implementation cannot be used in legacy symbol mangling.
2022-02-25Test legacy type manglingTomasz Miąsko-0/+640
2022-02-25Test legacy mangling of bool, char and integer constantsTomasz Miąsko-96/+194
The existing v0 tests have been slightly adjusted for compatibility with legacy mangler, which requires an item to have an ancestor in a value namespace or a type namespace to produce a symbol for it. In v0 mangling this results in an extra `Nv` component.
2022-02-24Try out caching the stable hash of Ty within itselfOli Scherer-4/+4
2022-02-16Fix inconsistent symbol mangling with -ZverboseTomasz Miąsko-0/+15
Always skip arguments that are the defaults of their respective parameters, to avoid generating inconsistent symbols for builds with `-Zverbose` flag and without it.
2022-01-30Compress amount of hashed bytes for `isize` values in StableHasherJakub Beránek-4/+4
2022-01-24Revert "Do not hash leading zero bytes of i64 numbers in Sip128 hasher"Jakub Beránek-4/+4
2022-01-21Override rustc version in ui and mir-opt tests to get stable hashesThe 8472-22/+22
Building a dozen separate regexps for each test in compiletest consumes significant amounts of CPU cycles. Using `RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER` stabilizes hashes calcuated for the individual tests so no test-dependent normalization is needed. Hashes for the standard library still change so some normalizations are still needed.
2022-01-08mangling_v0: Skip extern blocks during manglingVadim Petrochenkov-2/+2
2022-01-08mangling_v0: Add a test for mangling of foreign typesVadim Petrochenkov-0/+39
2022-01-01Update references to `-Z symbol-mangling-version` to use `-C`Josh Triplett-16/+16
Replace `-Z symbol-mangling-version=v0` with `-C symbol-mangling-version=v0`. Replace `-Z symbol-mangling-version=legacy` with `-Z unstable-options -C symbol-mangling-version=legacy`.
2021-12-13Add run-make-fulldeps testpierwill-26/+26
Implement RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER Also makes minor docs edits.
2021-12-13Include rustc version in `rustc_span::StableCrateId`pierwill-156/+157
Normalize symbol hashes in compiletest. Remove DefId sorting
2021-10-15Bless testsCameron Steffen-3/+3
2021-09-15Move some tests to more reasonable directoriesCaio-0/+37
2021-08-30`feature(const_param_types)` -> `feature(adt_const_params)`lcnr-2/+2
2021-08-30`feature(const_generics)` -> `feature(const_param_types)`lcnr-16/+2
2021-08-24tests: add v0 structural const value demangling test.Eduard-Mihai Burtescu-0/+257
2021-08-24tests: add v0 `&str` const value demangling test.Eduard-Mihai Burtescu-0/+154
2021-08-24Update rustc-demangle to 0.1.21.Eduard-Mihai Burtescu-10/+10
2021-08-24tests: shorten symbol-names/const-generics-demangling output.Eduard-Mihai Burtescu-25/+25
2021-07-06Revert "Revert "Update tests""bjorn3-47/+47
This reverts commit 715c68fe90c6f1d0b3004ad18f16e0811f209992.
2021-06-07Revert "Update tests"bjorn3-47/+47
This reverts commit c76b1b031753fc08a18a3906d828683476c1e595.
2021-05-30Update testsbjorn3-47/+47
2021-05-17Remove legacy for trait object mangling test and replace crate hashJack Huey-86/+22
2021-05-15Change to just use first binders and add testJack Huey-0/+168
2021-04-03Remove redundant `ignore-tidy-linelength` annotationsSimon Jakobi-85/+36
This is step 2 towards fixing #77548. In the codegen and codegen-units test suites, the `//` comment markers were kept in order not to affect any source locations. This is because these tests cannot be automatically `--bless`ed.
2021-03-31Fmt and test revertJack Huey-32/+31
2021-03-31Track bound varsJack Huey-35/+36
2021-02-02Update UI tests affected by changed DefPathHash value construction.Michael Woerister-84/+82
2021-01-13Update code to account for extern ABI requirementMark Rousskov-1/+1
2020-12-26update testsBastian Kauschke-78/+74
2020-11-29Update tests to remove old numeric constantsbstrie-6/+6
Part of #68490. Care has been taken to leave the old consts where appropriate, for testing backcompat regressions, module shadowing, etc. The intrinsics docs were accidentally referring to some methods on f64 as std::f64, which I changed due to being contrary with how we normally disambiguate the shadow module from the primitive. In one other place I changed std::u8 to std::ops since it was just testing path handling in macros. For places which have legitimate uses of the old consts, deprecated attributes have been optimistically inserted. Although currently unnecessary, they exist to emphasize to any future deprecation effort the necessity of these specific symbols and prevent them from being accidentally removed.
2020-11-23Rename `optin_builtin_traits` to `auto_traits`Camelid-1/+1
They were originally called "opt-in, built-in traits" (OIBITs), but people realized that the name was too confusing and a mouthful, and so they were renamed to just "auto traits". The feature flag's name wasn't updated, though, so that's what this PR does. There are some other spots in the compiler that still refer to OIBITs, but I don't think changing those now is worth it since they are internal and not particularly relevant to this PR. Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>.
2020-10-21Add test for const generics demanglingvarkor-0/+112
2020-10-21Support signed integers and `char` in v0 manglingvarkor-0/+87
2020-10-15mangling: encode all impl parametersDavid Wood-0/+98
This commit modifies v0 symbol mangling to include all generic parameters from impl blocks (not just those used in the self type). Signed-off-by: David Wood <david@davidtw.co>
2020-10-07Rollup merge of #77605 - da-x:fix-rustc-def-path, r=petrochenkovDylan DPC-4/+4
Fix rustc_def_path to show the full path and not the trimmed one Follow-up fix for #73996.
2020-10-06Fix rustc_def_path to show the full path and not the trimmed oneDan Aloni-4/+4
2020-10-02Permit ty::Bool in const generics for v0 manglingMark Rousskov-0/+18
2020-09-02pretty: trim paths of unique symbolsDan Aloni-4/+4
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
2020-06-06Order the Rust and C ABIs first to reduce test churnJake Goulding-10/+10
2020-05-22Update testsMatthew Jasper-2/+2
2020-01-15Fix normalizing 32bit symbol hash.Ben Lewis-1/+1
2020-01-14Normalize symbol hash in ui test for legacy symbol mangling, as it's ↵Ben Lewis-26/+28
dependent on the number of bits within consts.