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