Explicitly register MSVC
/NONMSVC
revisions for some codegen tests
This commit is contained in:
parent
aaca9fa482
commit
5415f067bd
11 changed files with 76 additions and 50 deletions
|
@ -1,8 +1,12 @@
|
||||||
// This test makes sure that the coroutine field capturing the awaitee in a `.await` expression
|
|
||||||
// is called "__awaitee" in debuginfo. This name must not be changed since debuggers and debugger
|
|
||||||
// extensions rely on the field having this name.
|
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! This test makes sure that the coroutine field capturing the awaitee in a `.await` expression
|
||||||
|
//! is called `__awaitee` in debuginfo. This name must not be changed since debuggers and debugger
|
||||||
|
//! extensions rely on the field having this name.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
|
||||||
//@ compile-flags: -C debuginfo=2 --edition=2018 -Copt-level=0
|
//@ compile-flags: -C debuginfo=2 --edition=2018 -Copt-level=0
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
//@ compile-flags: -C debuginfo=2
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! Checks that visibility information is present in the debuginfo for crate-visibility enums.
|
||||||
|
|
||||||
#![allow(dead_code)]
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
|
||||||
// Checks that visibility information is present in the debuginfo for crate-visibility enums.
|
//@ compile-flags: -C debuginfo=2
|
||||||
|
|
||||||
mod module {
|
mod module {
|
||||||
use std::hint::black_box;
|
use std::hint::black_box;
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
//@ compile-flags: -C debuginfo=2
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! Checks that visibility information is present in the debuginfo for private enums.
|
||||||
|
|
||||||
#![allow(dead_code)]
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
// Checks that visibility information is present in the debuginfo for private enums.
|
//@[NONMSVC] ignore-msvc
|
||||||
|
//@ compile-flags: -C debuginfo=2
|
||||||
|
|
||||||
use std::hint::black_box;
|
use std::hint::black_box;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
//@ compile-flags: -C debuginfo=2
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! Checks that visibility information is present in the debuginfo for types and their fields.
|
||||||
|
|
||||||
#![allow(dead_code)]
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
|
||||||
// Checks that visibility information is present in the debuginfo for types and their fields.
|
//@ compile-flags: -C debuginfo=2
|
||||||
|
|
||||||
use std::hint::black_box;
|
use std::hint::black_box;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
//@ compile-flags: -C debuginfo=2
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! Checks that visibility information is present in the debuginfo for super-visibility enums.
|
||||||
|
|
||||||
#![allow(dead_code)]
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
// Checks that visibility information is present in the debuginfo for super-visibility enums.
|
//@[NONMSVC] ignore-msvc
|
||||||
|
//@ compile-flags: -C debuginfo=2
|
||||||
|
|
||||||
mod module {
|
mod module {
|
||||||
use std::hint::black_box;
|
use std::hint::black_box;
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
// This test checks the debuginfo for the expected 3 vtables is generated for correct names and number
|
// ignore-tidy-linelength
|
||||||
// of entries.
|
//! This test checks the debuginfo for the expected 3 vtables is generated for correct names and
|
||||||
|
//! number of entries.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
|
||||||
// Use the v0 symbol mangling scheme to codegen order independent of rustc version.
|
// Use the v0 symbol mangling scheme to codegen order independent of rustc version.
|
||||||
// Unnamed items like shims are generated in lexicographical order of their symbol name and in the
|
// Unnamed items like shims are generated in lexicographical order of their symbol name and in the
|
||||||
|
@ -7,7 +12,6 @@
|
||||||
// of the name, thus randomizing item order with respect to rustc version.
|
// of the name, thus randomizing item order with respect to rustc version.
|
||||||
|
|
||||||
//@ compile-flags: -Cdebuginfo=2 -Copt-level=0 -Csymbol-mangling-version=v0
|
//@ compile-flags: -Cdebuginfo=2 -Copt-level=0 -Csymbol-mangling-version=v0
|
||||||
// ignore-tidy-linelength
|
|
||||||
|
|
||||||
// Make sure that vtables don't have the unnamed_addr attribute when debuginfo is enabled.
|
// Make sure that vtables don't have the unnamed_addr attribute when debuginfo is enabled.
|
||||||
// This helps debuggers more reliably map from dyn pointer to concrete type.
|
// This helps debuggers more reliably map from dyn pointer to concrete type.
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
// This test checks that we get proper type names for closure environments and
|
|
||||||
// async-fn environments in debuginfo, especially making sure that generic arguments
|
|
||||||
// of the enclosing functions don't get lost.
|
|
||||||
//
|
|
||||||
// Unfortunately, the order that debuginfo gets emitted into LLVM IR becomes a bit hard
|
|
||||||
// to predict once async fns are involved, so DAG allows any order.
|
|
||||||
//
|
|
||||||
// Note that the test does not check async-fns when targeting MSVC because debuginfo for
|
|
||||||
// those does not follow the enum-fallback encoding yet and thus is incomplete.
|
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! This test checks that we get proper type names for closure environments and
|
||||||
|
//! async-fn environments in debuginfo, especially making sure that generic arguments
|
||||||
|
//! of the enclosing functions don't get lost.
|
||||||
|
//!
|
||||||
|
//! Unfortunately, the order that debuginfo gets emitted into LLVM IR becomes a bit hard
|
||||||
|
//! to predict once async fns are involved, so DAG allows any order.
|
||||||
|
//!
|
||||||
|
//! Note that the test does not check async-fns when targeting MSVC because debuginfo for
|
||||||
|
//! those does not follow the enum-fallback encoding yet and thus is incomplete.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
|
||||||
// Use the v0 symbol mangling scheme to codegen order independent of rustc version.
|
// Use the v0 symbol mangling scheme to codegen order independent of rustc version.
|
||||||
// Unnamed items like shims are generated in lexicographical order of their symbol name and in the
|
// Unnamed items like shims are generated in lexicographical order of their symbol name and in the
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
// This test verifies the accuracy of emitted file and line debuginfo metadata for async blocks and
|
// ignore-tidy-linelength
|
||||||
// async functions.
|
//! This test verifies the accuracy of emitted file and line debuginfo metadata for async blocks and
|
||||||
//
|
//! async functions.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
//@ edition:2021
|
//@ edition:2021
|
||||||
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
|
||||||
|
|
||||||
// NONMSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-async.rs{{".*}})
|
// NONMSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-async.rs{{".*}})
|
||||||
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-async.rs{{".*}})
|
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-async.rs{{".*}})
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
// This test verifies the accuracy of emitted file and line debuginfo metadata for closures and
|
// ignore-tidy-linelength
|
||||||
// coroutines.
|
//! This test verifies the accuracy of emitted file and line debuginfo metadata for closures and
|
||||||
//
|
//! coroutines.
|
||||||
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
|
||||||
#![feature(coroutines, stmt_expr_attributes)]
|
#![feature(coroutines, stmt_expr_attributes)]
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
||||||
|
|
||||||
// NONMSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-closure-coroutine.rs{{".*}})
|
// NONMSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-closure-coroutine.rs{{".*}})
|
||||||
// MSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-closure-coroutine.rs{{".*}})
|
// MSVC-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-closure-coroutine.rs{{".*}})
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// This test verifies the accuracy of emitted file and line debuginfo metadata enums.
|
|
||||||
//
|
|
||||||
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! This test verifies the accuracy of emitted file and line debuginfo metadata enums.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
||||||
|
|
||||||
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-enum.rs{{".*}})
|
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-enum.rs{{".*}})
|
||||||
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-enum.rs{{".*}})
|
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-enum.rs{{".*}})
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
// This test verifies the accuracy of emitted file and line debuginfo metadata for structs and
|
|
||||||
// unions.
|
|
||||||
//
|
|
||||||
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
//! This test verifies the accuracy of emitted file and line debuginfo metadata for structs and
|
||||||
|
//! unions.
|
||||||
|
|
||||||
|
//@ revisions: MSVC NONMSVC
|
||||||
|
//@[MSVC] only-msvc
|
||||||
|
//@[NONMSVC] ignore-msvc
|
||||||
|
//@ compile-flags: --crate-type=lib -Copt-level=0 -Cdebuginfo=2 -Zdebug-info-type-line-numbers=true
|
||||||
|
|
||||||
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-struct-union.rs{{".*}})
|
// NONMSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*[/\\]}}issue-98678-struct-union.rs{{".*}})
|
||||||
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-struct-union.rs{{".*}})
|
// MSVC: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}\\issue-98678-struct-union.rs{{".*}})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue