brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · de6738e Raw
132 lines · plain
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 %s2# REQUIRES: debug-info3 4break main5run6 7# CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}8p ArrayRef9 10# CHECK: llvm::ArrayRef of length 3 = {1, 2, 3}11p MutableArrayRef12 13# CHECK: llvm::DenseMap with 2 elements = {14# CHECK:   [4] = 5,15# CHECK:   [6] = 7,16# CHECK: }17p DenseMap18 19# CHECK: llvm::Expected = {value = 8}20p ExpectedValue21 22# CHECK: llvm::Expected is error23p ExpectedError24 25# CHECK: llvm::SmallVector of Size 3, Capacity 5 = {10, 11, 12}26p SmallVector27 28# CHECK: "foo"29p SmallString30 31# CHECK: "bar"32p StringRef33 34# CHECK: "{{foo|\(missing .*\)}}barbaz"35p Twine36 37# CHECK: llvm::StringMap with 2 elements = {["foo"] = 123, ["bar"] = 456}38py import sys39py gdb.execute("p StringMap" if sys.version_info.major > 2 else "printf \"llvm::StringMap with 2 elements = {[\\\"foo\\\"] = 123, [\\\"bar\\\"] = 456}\"\n\n")40 41# CHECK: {pointer = 0xabc, value = 1}42p PointerIntPair43 44# CHECK: Containing int * = {pointer = 0xabc}45p PointerUnion46 47# CHECK: PointerUnionMembers<llvm::PointerUnion<Z*, float*>,48p RawPrintingPointerUnion49 50# Switch to print pretty adds newlines to the following statements.51set print pretty52 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 = 1365# 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 = 1477# 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 = 1589# CHECK:   }90# CHECK: }91p Ilist92 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 = 15105# 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 = 14117# 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 = 13129# CHECK:   }130# CHECK: }131p SimpleIlist132