mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 16:37:42 +00:00
Try out FileCheck's new (in r212810) -implicit-check-not in a DebugInfo test.
Just tried this on a few tests and this was the only one that was easily ported to use the new feature, so we'll go with that for now. Hopefully can act as inspiration/reminder for other tests. Not all debug info tests need to check for every DW_TAG or NULL child terminator, but perhaps they should (just to ensure they don't accidentally end up with tags nested inside other tags without the test failing, for example) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213092 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9bc72a33f1
commit
b930de10cd
@ -1,6 +1,6 @@
|
||||
; REQUIRES: object-emission
|
||||
|
||||
; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-dump=info - | FileCheck %s
|
||||
; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-dump=info - | FileCheck -implicit-check-not=DW_TAG %s
|
||||
|
||||
; Build from source:
|
||||
; $ clang++ a.cpp b.cpp -g -c -emit-llvm
|
||||
@ -25,10 +25,8 @@
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK: DW_AT_type [DW_FORM_ref_addr] (0x00000000[[INT:.*]])
|
||||
; CHECK: DW_TAG_inlined_subroutine
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_abstract_origin {{.*}}[[ABS_FUNC:........]])
|
||||
; CHECK: DW_TAG_formal_parameter
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_abstract_origin {{.*}}[[ABS_VAR:........]])
|
||||
|
||||
; Check the abstract definition is in the 'b.cpp' CU and doesn't contain any
|
||||
@ -38,26 +36,20 @@
|
||||
; CHECK: 0x[[ABS_FUNC]]: DW_TAG_subprogram
|
||||
; CHECK-NOT: DW_AT_low_pc
|
||||
; CHECK: 0x[[ABS_VAR]]: DW_TAG_formal_parameter
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK-NOT: DW_AT_location
|
||||
; CHECK: DW_AT_type [DW_FORM_ref4] {{.*}} {0x[[INT]]}
|
||||
; CHECK-NOT: DW_AT_location
|
||||
|
||||
; CHECK: 0x[[INT]]: DW_TAG_base_type
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_name {{.*}} "int"
|
||||
|
||||
; Check the concrete out of line definition references the abstract and
|
||||
; provides the address range and variable location
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_low_pc
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_abstract_origin {{.*}} {0x[[ABS_FUNC]]}
|
||||
; CHECK: DW_TAG_formal_parameter
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_location
|
||||
; CHECK-NOT: DW_TAG
|
||||
; CHECK: DW_AT_abstract_origin {{.*}} {0x[[ABS_VAR]]}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user