brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 12a3c21 Raw
53 lines · plain
1/* Compile with:2   cat >modules.modulemap <<EOF3   module Parent {4     module Child {5       header "Child.h"6     }7     module Empty {8       header "Empty.h"9     }10   }11EOF12   clang -D CHILD_H -E -o Child.h submodules.m13   touch empty.h14   clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \15     -fmodule-format=obj -g -dwarf-ext-refs -fmodules-cache-path=. \16     -fdisable-module-hash submodules.m -o 1.o17*/18 19// RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/submodules \20// RUN:   -y %p/dummy-debug-map.map -o - \21// RUN:     | llvm-dwarfdump -v --debug-info - | FileCheck %s22 23// ---------------------------------------------------------------------24#ifdef CHILD_H25// ---------------------------------------------------------------------26 27// CHECK:            DW_TAG_compile_unit28// CHECK-NOT:        DW_TAG29// CHECK:              DW_TAG_module30// CHECK-NEXT:           DW_AT_name{{.*}}"Parent"31// CHECK:                DW_TAG_module32// CHECK-NEXT:             DW_AT_name{{.*}}"Child"33// CHECK:                  DW_TAG_structure_type34// CHECK-NOT:                DW_TAG35// CHECK:                    DW_AT_name {{.*}}"PruneMeNot"36struct PruneMeNot;37 38// ---------------------------------------------------------------------39#else40// ---------------------------------------------------------------------41 42// CHECK:            DW_TAG_compile_unit43// CHECK:              DW_TAG_module44// CHECK-NEXT:           DW_AT_name{{.*}}"Parent"45// CHECK: 0x0[[EMPTY:.*]]: DW_TAG_module46// CHECK-NEXT:             DW_AT_name{{.*}}"Empty"47 48// CHECK:     DW_AT_import  {{.*}}0x{{0*}}[[EMPTY]]49@import Parent.Child;50@import Parent.Empty;51int main(int argc, char **argv) { return 0; }52#endif53