[RISCV] Remove old FIXMEs from test. NFC
[llvm-project.git] / cross-project-tests / debuginfo-tests / llvm-prettyprinters / gdb / llvm-support.gdb
blob6222ab84ed8ca7e55ce40f759e8abe1a6f04d78a
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::Optional = {value = 9}
26 p OptionalValue
28 # CHECK: llvm::Optional is not initialized
29 p OptionalNone
31 # CHECK: llvm::SmallVector of Size 3, Capacity 5 = {10, 11, 12}
32 p SmallVector
34 # CHECK: "foo"
35 p SmallString
37 # CHECK: "bar"
38 p StringRef
40 # CHECK: "foobarbaz"
41 p Twine
43 # CHECK: llvm::StringMap with 2 elements = {["foo"] = 123, ["bar"] = 456}
44 py import sys
45 py gdb.execute("p StringMap" if sys.version_info.major > 2 else "printf \"llvm::StringMap with 2 elements = {[\\\"foo\\\"] = 123, [\\\"bar\\\"] = 456}\"\n\n")
47 # CHECK: {pointer = 0xabc, value = 1}
48 p PointerIntPair
50 # CHECK: Containing int * = {pointer = 0xabc}
51 p PointerUnion
53 # CHECK: PointerUnionMembers<llvm::PointerUnion<Z*, float*>,
54 p RawPrintingPointerUnion
56 # Switch to print pretty adds newlines to the following statements.
57 set print pretty
59 # CHECK: {
60 # CHECK:   [0] = {
61 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
62 # CHECK:       prev = [[Ilist_Sentinel:0x.*]] <Ilist>,
63 # CHECK:       next = [[Node_14:0x.*]]
64 # CHECK:     },
65 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
66 # CHECK:       prev = [[Node_14]],
67 # CHECK:       next = [[SimpleIlist_Sentinel:0x.*]] <SimpleIlist>
68 # CHECK:     },
69 # CHECK:     members of IlistNode:
70 # CHECK:     Value = 13
71 # CHECK:   },
72 # CHECK:   [1] = {
73 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
74 # CHECK:       prev = [[Node_13:0x.*]],
75 # CHECK:       next = [[Node_15:0x.*]]
76 # CHECK:     },
77 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
78 # CHECK:       prev = [[Node_15]],
79 # CHECK:       next = [[Node_13]]
80 # CHECK:     },
81 # CHECK:     members of IlistNode:
82 # CHECK:     Value = 14
83 # CHECK:   },
84 # CHECK:   [2] = {
85 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
86 # CHECK:       prev = [[Node_14]],
87 # CHECK:       next = [[Ilist_Sentinel]] <Ilist>
88 # CHECK:     },
89 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
90 # CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
91 # CHECK:       next = [[Node_14]]
92 # CHECK:     },
93 # CHECK:     members of IlistNode:
94 # CHECK:     Value = 15
95 # CHECK:   }
96 # CHECK: }
97 p Ilist
99 # CHECK: {
100 # CHECK:   [0] = {
101 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
102 # CHECK:       prev = [[Node_14]],
103 # CHECK:       next = [[Ilist_Sentinel]] <Ilist>
104 # CHECK:     },
105 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
106 # CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
107 # CHECK:       next = [[Node_14]]
108 # CHECK:     },
109 # CHECK:     members of IlistNode:
110 # CHECK:     Value = 15
111 # CHECK:   },
112 # CHECK:   [1] = {
113 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
114 # CHECK:       prev = [[Node_13]],
115 # CHECK:       next = [[Node_15]]
116 # CHECK:     },
117 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
118 # CHECK:       prev = [[Node_15]],
119 # CHECK:       next = [[Node_13]]
120 # CHECK:     },
121 # CHECK:     members of IlistNode:
122 # CHECK:     Value = 14
123 # CHECK:   },
124 # CHECK:   [2] = {
125 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
126 # CHECK:       prev = [[Ilist_Sentinel]] <Ilist>,
127 # CHECK:       next = [[Node_14]]
128 # CHECK:     },
129 # CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
130 # CHECK:       prev = [[Node_14]],
131 # CHECK:       next = [[SimpleIlist_Sentinel]] <SimpleIlist>
132 # CHECK:     },
133 # CHECK:     members of IlistNode:
134 # CHECK:     Value = 13
135 # CHECK:   }
136 # CHECK: }
137 p SimpleIlist