rust/src/test/debuginfo
bors 0df1ddc185 Auto merge of #99556 - davidtwco:collapse-debuginfo, r=wesleywiser
ssa: implement `#[collapse_debuginfo]`

cc #39153 rust-lang/compiler-team#386

Debuginfo line information for macro invocations are collapsed by default - line information are replaced by the line of the outermost expansion site. Using `-Zdebug-macros` disables this behaviour.

When the `collapse_debuginfo` feature is enabled, the default behaviour is reversed so that debuginfo is not collapsed by default. In addition, the `#[collapse_debuginfo]` attribute is available and can be applied to macro definitions which will then have their line information collapsed.

r? rust-lang/wg-debugging
2022-09-13 01:19:05 +00:00
..
auxiliary Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
associated-types.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
basic-types-globals-metadata.rs Remove licenses 2018-12-25 21:08:33 -07:00
basic-types-globals.rs Use revision support to remove near identical debuginfo test. 2022-07-20 00:23:38 -07:00
basic-types-metadata.rs Remove licenses 2018-12-25 21:08:33 -07:00
basic-types-mut-globals.rs Remove licenses 2018-12-25 21:08:33 -07:00
basic-types.rs Change char type in debuginfo to DW_ATE_UTF 2022-02-23 08:31:10 -08:00
borrowed-basic.rs Fix debuginfo tests with GDB 11.2 2022-03-17 20:19:10 -06:00
borrowed-c-style-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
borrowed-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
borrowed-tuple.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
borrowed-unique-basic.rs Fix debuginfo tests with GDB 11.2 2022-03-17 20:19:10 -06:00
box.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
boxed-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
by-value-non-immediate-argument.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
by-value-self-argument-in-trait-impl.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
c-style-enum-in-composite.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
c-style-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
captured-fields-1.rs debuginfo: Make sure that type names for closure and generator environments are unique in debuginfo. 2022-02-01 10:39:40 +01:00
captured-fields-2.rs Store names of captured variables in optimized_mir 2021-07-09 23:09:48 +08:00
closure-in-generic-function.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
collapse-debuginfo-no-attr-flag.rs ssa: implement #[collapse_debuginfo] 2022-09-07 13:54:51 +01:00
collapse-debuginfo-no-attr.rs ssa: implement #[collapse_debuginfo] 2022-09-07 13:54:51 +01:00
collapse-debuginfo-with-attr-flag.rs ssa: implement #[collapse_debuginfo] 2022-09-07 13:54:51 +01:00
collapse-debuginfo-with-attr.rs ssa: implement #[collapse_debuginfo] 2022-09-07 13:54:51 +01:00
constant-debug-locs.rs Remove licenses 2018-12-25 21:08:33 -07:00
constant-in-match-pattern.rs Remove licenses 2018-12-25 21:08:33 -07:00
cross-crate-spans.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
cross-crate-type-uniquing.rs Remove licenses 2018-12-25 21:08:33 -07:00
destructured-fn-argument.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
destructured-for-loop-variable.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
destructured-local.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
drop-locations.rs Remove licenses 2018-12-25 21:08:33 -07:00
duration-type.rs Respond to review feedback 2021-07-09 18:29:08 -04:00
embedded-visualizer-point.natvis Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
embedded-visualizer-point.py Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
embedded-visualizer.natvis Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
embedded-visualizer.py Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
embedded-visualizer.rs Add support for embedding pretty printers via the #[debugger_visualizer] attribute. Add tests for embedding pretty printers and update documentation. 2022-05-24 11:14:48 -07:00
empty-string.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
enum-thinlto.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
evec-in-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
extern-c-fn.rs Fix failed tests related to pointer printing when using GDB 10 2021-04-27 23:07:36 +08:00
fixed-sized-array.rs Add debug info tests for range, fix-sized array, and cell types. 2021-06-25 14:07:06 -07:00
function-arg-initialization.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
function-arguments.rs Remove licenses 2018-12-25 21:08:33 -07:00
function-call.rs tests: support -Zsymbol-mangling-version=v0 being the default. 2021-08-24 19:07:50 +03:00
function-names.rs account for endianness in debuginfo for const args 2022-06-14 16:12:34 +02:00
function-prologue-stepping-regular.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
gdb-char.rs Fix debuginfo tests with GDB 11.2 2022-03-17 20:19:10 -06:00
gdb-pretty-struct-and-enums.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
generator-locals.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
generator-objects.rs Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names. 2022-08-12 10:53:07 +02:00
generic-enum-with-different-disr-sizes.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
generic-function.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
generic-functions-nested.rs Remove licenses 2018-12-25 21:08:33 -07:00
generic-method-on-generic-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
generic-static-method-on-struct-and-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
generic-struct-style-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
generic-struct.rs [debuginfo] Adapt CDB tests after changes to whitespace usage in debuginfo type names. 2021-07-19 16:00:04 +02:00
generic-tuple-style-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
include_string.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-7712.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-12886.rs rustc_codegen_ssa: only "spill" SSA-like values to the stack for debuginfo. 2020-02-09 16:39:23 +02:00
issue-13213.rs Add basic CDB support to debuginfo compiletest s, to help catch *.natvis regressions, like those fixed in #60687. 2019-05-19 17:10:48 -07:00
issue-14411.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-22656.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
issue-57822.rs debuginfo: Make sure that type names for closure and generator environments are unique in debuginfo. 2022-02-01 10:39:40 +01:00
lexical-scope-in-for-loop.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-if-let.rs Add debuginfo test for if let lexical scopes 2022-06-15 17:18:44 -04:00
lexical-scope-in-if.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-match.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-parameterless-closure.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-stack-closure.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-unconditional-loop.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-unique-closure.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-in-while.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scope-with-macro.rs Remove licenses 2018-12-25 21:08:33 -07:00
lexical-scopes-in-block-expression.rs Remove licenses 2018-12-25 21:08:33 -07:00
limited-debuginfo.rs Remove licenses 2018-12-25 21:08:33 -07:00
macro-stepping.inc Remove licenses 2018-12-25 21:08:33 -07:00
macro-stepping.rs Remove licenses 2018-12-25 21:08:33 -07:00
marker-types.rs Fix tests for i686 2021-07-14 16:50:11 -04:00
method-on-enum.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
method-on-generic-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
method-on-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
method-on-trait.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
method-on-tuple-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
msvc-pretty-enums.rs Change name of "dataful" variant to "untagged" 2022-09-07 20:12:45 +00:00
msvc-scalarpair-params.rs Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names. 2022-08-12 10:53:07 +02:00
multi-byte-chars.rs Stablize non_ascii_idents feature. 2021-04-08 02:52:00 +08:00
multi-cgu.rs Remove licenses 2018-12-25 21:08:33 -07:00
multiple-functions-equal-var-names.rs Remove licenses 2018-12-25 21:08:33 -07:00
multiple-functions.rs Remove licenses 2018-12-25 21:08:33 -07:00
mutable-locs.rs Add natvis for cell types 2021-07-08 12:55:49 -04:00
mutex.rs [debuginfo] Update src/test/debuginfo/mutex.rs for new cpp-like enum debuginfo encoding. 2022-08-12 17:16:55 +02:00
name-shadowing-and-scope-nesting.rs Remove licenses 2018-12-25 21:08:33 -07:00
no_mangle-info.rs Add min-gdb-version 2022-08-04 11:46:30 +02:00
numeric-types.rs Add GDB/LLDB pretty-printers for NonZero types 2022-08-24 12:33:42 +02:00
option-like-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
packed-struct-with-destructor.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
packed-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
pretty-huge-vec.rs Support pretty printing slices using GDB 2021-07-03 23:42:07 +08:00
pretty-slices.rs Ignore Windows debugger pretty-printing tests 2021-07-08 01:04:59 +08:00
pretty-std-collections-hash.rs [debuginfo] Adapt CDB tests after changes to whitespace usage in debuginfo type names. 2021-07-19 16:00:04 +02:00
pretty-std-collections.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
pretty-std.rs Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names. 2022-08-12 10:53:07 +02:00
pretty-uninitialized-vec.rs Add missing : after min-gdb-version 2020-07-19 09:29:11 +00:00
range-types.rs Add natvis for Range types 2021-07-08 12:55:49 -04:00
rc_arc.rs The type of the slice length field is architecture dependent 2022-06-15 18:35:41 -04:00
recursive-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursive-struct.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
result-types.rs Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names. 2022-08-12 10:53:07 +02:00
rwlock-read.rs Fix debug info test 2022-06-22 06:51:39 +00:00
rwlock-write.rs Add debug info tests for range, fix-sized array, and cell types. 2021-06-25 14:07:06 -07:00
self-in-default-method.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
self-in-generic-default-method.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
shadowed-argument.rs Remove licenses 2018-12-25 21:08:33 -07:00
shadowed-variable.rs Remove licenses 2018-12-25 21:08:33 -07:00
should-fail.rs Add needs-run-enabled directive for should-fail tests 2021-04-30 04:12:37 +00:00
simd.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
simple-lexical-scope.rs Remove licenses 2018-12-25 21:08:33 -07:00
simple-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
simple-tuple.rs Update cdb tests for expected output 2021-07-01 14:26:20 -04:00
static-method-on-struct-and-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
step-into-match.rs Add test for stepping though match expressions 2021-08-26 09:34:31 -04:00
struct-in-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
struct-in-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
struct-namespace.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-style-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
struct-with-destructor.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
text-to-include-1.txt Re-bork whitespace for text file (fixup #23385) 2015-03-17 16:00:39 +05:30
text-to-include-2.txt Re-bork whitespace for text file (fixup #23385) 2015-03-17 16:00:39 +05:30
text-to-include-3.txt Re-bork whitespace for text file (fixup #23385) 2015-03-17 16:00:39 +05:30
thread-names.rs Update src/test/debuginfo/thread-names.rs 2022-06-04 09:57:10 -04:00
thread.rs std: update debuginfo check to match type definition 2022-04-28 15:48:21 +02:00
trait-pointers.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
tuple-in-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
tuple-in-tuple.rs Update cdb tests for expected output 2021-07-01 14:26:20 -04:00
tuple-struct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
tuple-style-enum.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
type-names.cdb.js Improve debug symbol names to avoid ambiguity and work better with MSVC's debugger 2021-06-30 11:10:29 -07:00
type-names.rs Use enum2<_> instead of enum<_> for Cpp-like debuginfo enum type names. 2022-08-12 10:53:07 +02:00
union-smoke.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
unique-enum.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
unit-type.rs debuginfo: Emit ZST struct debuginfo for unit type when CPP-like debuginfo is enabled (instead of custom basic type). 2022-04-22 14:59:35 +02:00
unreachable-locals.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
unsized.rs debuginfo: Fix debuginfo for Box<T> where T is unsized. 2022-03-24 11:12:41 +01:00
var-captured-in-nested-closure.rs debuginfo: Make sure that type names for closure and generator environments are unique in debuginfo. 2022-02-01 10:39:40 +01:00
var-captured-in-sendable-closure.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
var-captured-in-stack-closure.rs Remove box syntax from most places in src/test outside of the issues dir 2021-09-26 04:07:44 +02:00
vec-slices.rs [debuginfo] Fix and unify handling of fat pointers in debuginfo: Fix some debuginfo tests for old GDB versions and 32-bit targets. 2022-01-27 11:45:45 +01:00
vec.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00