rust/src/test/debuginfo
Arlie Davis 2f584229d4 Improvements to NatVis support
NatVis files describe how to display types in some Windows debuggers,
such as Visual Studio, WinDbg, and VS Code.

This commit makes several improvements:

* Adds visualizers for Rc<T>, Weak<T>, and Arc<T>.

* Changes [size] to [len], for consistency with the Rust API.
  Visualizers often use [size] to mirror the size() method on C++ STL
  collections.

* Several visualizers used the PVOID and ULONG typedefs. These are part
  of the Windows API; they are not guaranteed to always be defined in a
  pure Rust DLL/EXE. I converted PVOID to `void*` and `ULONG` to
  `unsigned long`.

* Cosmetic change: Removed {} braces around the visualized display
  for `Option` types. They now display simply as `Some(value)` or
  `None`, which reflects what is written in source code.

* The visualizer for `alloc::string::String` makes assumptions about
  the layout of `String` (it casts `String*` to another type), rather
  than using symbolic expressions. This commit changes the visualizer
  so that it simply uses symbolic expressions to access the string
  data and string length.
2020-12-28 12:14:49 -08:00
..
auxiliary Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00: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 Remove licenses 2018-12-25 21:08:33 -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 Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-basic.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-c-style-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
borrowed-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
borrowed-tuple.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
borrowed-unique-basic.rs Remove licenses 2018-12-25 21:08:33 -07:00
box.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
boxed-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
by-value-non-immediate-argument.rs Remove licenses 2018-12-25 21:08:33 -07: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 Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
c-style-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-in-generic-function.rs Remove licenses 2018-12-25 21:08:33 -07: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 Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
destructured-for-loop-variable.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
destructured-local.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
drop-locations.rs Remove licenses 2018-12-25 21:08:33 -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 Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
extern-c-fn.rs Remove licenses 2018-12-25 21:08:33 -07:00
function-arg-initialization.rs use println!() 2019-09-15 23:15:06 +08:00
function-arguments.rs Remove licenses 2018-12-25 21:08:33 -07:00
function-call.rs Add missing : after min-gdb-version 2020-07-19 09:29:11 +00:00
function-prologue-stepping-regular.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
gdb-pretty-struct-and-enums.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
generator-locals.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
generator-objects.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03: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 Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
generic-static-method-on-struct-and-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
generic-struct-style-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
generic-struct.rs Remove licenses 2018-12-25 21:08:33 -07:00
generic-tuple-style-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07: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 Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
lexical-scope-in-for-loop.rs Remove licenses 2018-12-25 21:08:33 -07: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
method-on-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
method-on-generic-struct.rs Remove licenses 2018-12-25 21:08:33 -07:00
method-on-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
method-on-trait.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
method-on-tuple-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
multi-byte-chars.rs Remove licenses 2018-12-25 21:08:33 -07: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
name-shadowing-and-scope-nesting.rs Remove licenses 2018-12-25 21:08:33 -07:00
option-like-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
packed-struct-with-destructor.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
packed-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
pretty-huge-vec.rs Add missing : after min-gdb-version 2020-07-19 09:29:11 +00:00
pretty-std-collections-hash.rs Improvements to NatVis support 2020-12-28 12:14:49 -08:00
pretty-std-collections.rs Auto merge of #78104 - ssomers:btree_root_redux, r=Mark-Simulacrum 2020-11-20 16:12:35 +00:00
pretty-std.rs Improvements to NatVis support 2020-12-28 12:14:49 -08:00
pretty-uninitialized-vec.rs Add missing : after min-gdb-version 2020-07-19 09:29:11 +00:00
rc_arc.rs tests: Ignore src/test/debuginfo/rc_arc.rs on Windows 2020-08-02 22:20:48 +03:00
recursive-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursive-struct.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
self-in-default-method.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
self-in-generic-default-method.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03: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 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
simd.rs Fix repeated word typos 2019-01-03 21:33:37 +01:00
simple-lexical-scope.rs Remove licenses 2018-12-25 21:08:33 -07:00
simple-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
simple-tuple.rs Modify type names on MSVC to make tuples .natvis compatible. 2020-06-24 19:28:12 -07:00
static-method-on-struct-and-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-in-enum.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-in-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
struct-namespace.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-style-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
struct-with-destructor.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03: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
trait-pointers.rs Remove licenses 2018-12-25 21:08:33 -07:00
tuple-in-struct.rs Remove licenses 2018-12-25 21:08:33 -07:00
tuple-in-tuple.rs Modify type names on MSVC to make tuples .natvis compatible. 2020-06-24 19:28:12 -07:00
tuple-struct.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
tuple-style-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
type-names.rs Remove licenses 2018-12-25 21:08:33 -07:00
union-smoke.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
unique-enum.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
unreachable-locals.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
unsized.rs Remove licenses 2018-12-25 21:08:33 -07:00
var-captured-in-nested-closure.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
var-captured-in-sendable-closure.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
var-captured-in-stack-closure.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
vec-slices.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00
vec.rs Implement new gdb/lldb pretty-printers 2020-06-09 16:13:11 +03:00