brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · b6edb8b Raw
29 lines · plain
1# Tests the case where a DW_TAG_subprogram for a method declaration2# got uniqued into a DW_TAG_subprogram with the same linkage name (but3# different DW_AT_name). Make sure the DW_TAG_subprogram DIE for the4# definition, which previously pointed to the now de-deduplicated declaration,5# gets inserted into the .debug_names table using the DW_AT_name of the canonical6# declaration DW_TAG_subprogram.7#8# Object files compiled as follows:9#   clang -g -c -o 1.o Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp10#   clang -g -c -o 2.o Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp11 12# RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -o - \13# RUN:     | llvm-dwarfdump --verify - | FileCheck %s14 15# RUN: dsymutil --linker parallel -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -o - \16# RUN:     | not llvm-dwarfdump --verify - | FileCheck %s --check-prefix=PARALLEL-ODR17 18# RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -no-odr -o - \19# RUN:     | llvm-dwarfdump --verify - | FileCheck %s20 21# RUN: dsymutil --linker parallel -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -no-odr -o - \22# RUN:     | llvm-dwarfdump --verify - | FileCheck %s23 24# CHECK: No errors.25 26# FIXME: parallel DWARFLinker uses wrong DW_AT_name when inserting uniqued subprogram into .debug_names27# PARALLEL-ODR:      Verifying .debug_names...28# PARALLEL-ODR-NEXT: error: Name Index {{.*}} mismatched Name of DIE29