forked from OSchip/llvm-project
133 lines
3.7 KiB
Plaintext
133 lines
3.7 KiB
Plaintext
# 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 --dump-input-on-failure
|
|
|
|
break main
|
|
run
|
|
|
|
# CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}
|
|
p ArrayRef
|
|
|
|
# CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}
|
|
p MutableArrayRef
|
|
|
|
# CHECK: llvm::DenseMap with 2 elements = {
|
|
# CHECK: [4] = 5,
|
|
# CHECK: [6] = 7,
|
|
# CHECK: }
|
|
p DenseMap
|
|
|
|
# CHECK: llvm::Expected = {value = 8}
|
|
p ExpectedValue
|
|
|
|
# CHECK: llvm::Expected is error
|
|
p ExpectedError
|
|
|
|
# CHECK: llvm::Optional = {value = 9}
|
|
p OptionalValue
|
|
|
|
# CHECK: llvm::Optional is not initialized
|
|
p OptionalNone
|
|
|
|
# CHECK: llvm::SmallVector of Size 3, Capacity 5 = {10, 11, 12}
|
|
p SmallVector
|
|
|
|
# CHECK: "foo"
|
|
p SmallString
|
|
|
|
# CHECK: "bar"
|
|
p StringRef
|
|
|
|
# CHECK: "\"foo\"\"bar\""
|
|
p Twine
|
|
|
|
# CHECK: {pointer = 0xabc, value = 1}
|
|
p PointerIntPair
|
|
|
|
# CHECK: Containing int * = {pointer = 0xabc}
|
|
p PointerUnion
|
|
|
|
# CHECK: PointerUnionMembers<llvm::PointerUnion<Z*, float*>,
|
|
p RawPrintingPointerUnion
|
|
|
|
# Switch to print pretty adds newlines to the following statements.
|
|
set print pretty
|
|
|
|
# CHECK: {
|
|
# CHECK: [0] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Ilist_Sentinel:0x.*]] <Ilist>,
|
|
# CHECK: next = [[Node_14:0x.*]]
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[Node_14]],
|
|
# CHECK: next = [[SimpleIlist_Sentinel:0x.*]] <SimpleIlist>
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 13
|
|
# CHECK: },
|
|
# CHECK: [1] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Node_13:0x.*]],
|
|
# CHECK: next = [[Node_15:0x.*]]
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[Node_15]],
|
|
# CHECK: next = [[Node_13]]
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 14
|
|
# CHECK: },
|
|
# CHECK: [2] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Node_14]],
|
|
# CHECK: next = [[Ilist_Sentinel]] <Ilist>
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
|
|
# CHECK: next = [[Node_14]]
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 15
|
|
# CHECK: }
|
|
# CHECK: }
|
|
p Ilist
|
|
|
|
# CHECK: {
|
|
# CHECK: [0] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Node_14]],
|
|
# CHECK: next = [[Ilist_Sentinel]] <Ilist>
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
|
|
# CHECK: next = [[Node_14]]
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 15
|
|
# CHECK: },
|
|
# CHECK: [1] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Node_13]],
|
|
# CHECK: next = [[Node_15]]
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[Node_15]],
|
|
# CHECK: next = [[Node_13]]
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 14
|
|
# CHECK: },
|
|
# CHECK: [2] = {
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
|
|
# CHECK: prev = [[Ilist_Sentinel]] <Ilist>,
|
|
# CHECK: next = [[Node_14]]
|
|
# CHECK: },
|
|
# CHECK: <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
|
|
# CHECK: prev = [[Node_14]],
|
|
# CHECK: next = [[SimpleIlist_Sentinel]] <SimpleIlist>
|
|
# CHECK: },
|
|
# CHECK: members of IlistNode:
|
|
# CHECK: Value = 13
|
|
# CHECK: }
|
|
# CHECK: }
|
|
p SimpleIlist
|