[clang-tidy][NFC] move AST_MATCHER to anonymous namespace in InfiniteLoopCheck (...
[llvm-project.git] / cross-project-tests / debuginfo-tests / llvm-prettyprinters / gdb / llvm-support.gdb
blobde6738e53bb51eefba4611a71671ead1ad7797df
1 # RUN: gdb -q -batch -n -iex 'source %llvm_src_root/utils/gdb-scripts/prettyprinters.py' -x %s %llvm_tools_dir/check-gdb-llvm-support | FileCheck %s
2 # REQUIRES: debug-info
4 break main
5 run
7 # CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}
8 p ArrayRef
10 # CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}
11 p MutableArrayRef
13 # CHECK: llvm::DenseMap with 2 elements = {
14 # CHECK:   [4] = 5,
15 # CHECK:   [6] = 7,
16 # CHECK: }
17 p DenseMap
19 # CHECK: llvm::Expected = {value = 8}
20 p ExpectedValue
22 # CHECK: llvm::Expected is error
23 p ExpectedError
25 # CHECK: llvm::SmallVector of Size 3, Capacity 5 = {10, 11, 12}
26 p SmallVector
28 # CHECK: "foo"
29 p SmallString
31 # CHECK: "bar"
32 p StringRef
34 # CHECK: "{{foo|\(missing .*\)}}barbaz"
35 p Twine
37 # CHECK: llvm::StringMap with 2 elements = {["foo"] = 123, ["bar"] = 456}
38 py import sys
39 py gdb.execute("p StringMap" if sys.version_info.major > 2 else "printf \"llvm::StringMap with 2 elements = {[\\\"foo\\\"] = 123, [\\\"bar\\\"] = 456}\"\n\n")
41 # CHECK: {pointer = 0xabc, value = 1}
42 p PointerIntPair
44 # CHECK: Containing int * = {pointer = 0xabc}
45 p PointerUnion
47 # CHECK: PointerUnionMembers<llvm::PointerUnion<Z*, float*>,
48 p RawPrintingPointerUnion
50 # Switch to print pretty adds newlines to the following statements.
51 set print pretty
53 # CHECK: {
54 # CHECK:   [0] = {
55 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
56 # CHECK:       prev = [[Ilist_Sentinel:0x.*]] <Ilist>,
57 # CHECK:       next = [[Node_14:0x.*]]
58 # CHECK:     },
59 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
60 # CHECK:       prev = [[Node_14]],
61 # CHECK:       next = [[SimpleIlist_Sentinel:0x.*]] <SimpleIlist>
62 # CHECK:     },
63 # CHECK:     members of IlistNode:
64 # CHECK:     Value = 13
65 # CHECK:   },
66 # CHECK:   [1] = {
67 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
68 # CHECK:       prev = [[Node_13:0x.*]],
69 # CHECK:       next = [[Node_15:0x.*]]
70 # CHECK:     },
71 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
72 # CHECK:       prev = [[Node_15]],
73 # CHECK:       next = [[Node_13]]
74 # CHECK:     },
75 # CHECK:     members of IlistNode:
76 # CHECK:     Value = 14
77 # CHECK:   },
78 # CHECK:   [2] = {
79 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
80 # CHECK:       prev = [[Node_14]],
81 # CHECK:       next = [[Ilist_Sentinel]] <Ilist>
82 # CHECK:     },
83 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
84 # CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
85 # CHECK:       next = [[Node_14]]
86 # CHECK:     },
87 # CHECK:     members of IlistNode:
88 # CHECK:     Value = 15
89 # CHECK:   }
90 # CHECK: }
91 p Ilist
93 # CHECK: {
94 # CHECK:   [0] = {
95 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
96 # CHECK:       prev = [[Node_14]],
97 # CHECK:       next = [[Ilist_Sentinel]] <Ilist>
98 # CHECK:     },
99 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
100 # CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
101 # CHECK:       next = [[Node_14]]
102 # CHECK:     },
103 # CHECK:     members of IlistNode:
104 # CHECK:     Value = 15
105 # CHECK:   },
106 # CHECK:   [1] = {
107 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
108 # CHECK:       prev = [[Node_13]],
109 # CHECK:       next = [[Node_15]]
110 # CHECK:     },
111 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
112 # CHECK:       prev = [[Node_15]],
113 # CHECK:       next = [[Node_13]]
114 # CHECK:     },
115 # CHECK:     members of IlistNode:
116 # CHECK:     Value = 14
117 # CHECK:   },
118 # CHECK:   [2] = {
119 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
120 # CHECK:       prev = [[Ilist_Sentinel]] <Ilist>,
121 # CHECK:       next = [[Node_14]]
122 # CHECK:     },
123 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
124 # CHECK:       prev = [[Node_14]],
125 # CHECK:       next = [[SimpleIlist_Sentinel]] <SimpleIlist>
126 # CHECK:     },
127 # CHECK:     members of IlistNode:
128 # CHECK:     Value = 13
129 # CHECK:   }
130 # CHECK: }
131 p SimpleIlist