dsymutil: Don't prune forward declarations inside a module definition.
[oota-llvm.git] / test / tools / dsymutil / X86 / modules.m
index 0e82c999d789be9c2c1c90ed03b0aff635ea16e6..63d628baa5ab42e0dd1345a83066b04538ba668f 100644 (file)
@@ -9,8 +9,8 @@
        export *
      }
    EOF
-   clang -D BAR_H -E -o Bar.h
-   clang -D FOO_H -E -o Foo.h
+   clang -D BAR_H -E -o Bar.h modules.m
+   clang -D FOO_H -E -o Foo.h modules.m
    clang -cc1 -emit-obj -fmodules -fmodule-map-file=modules.modulemap \
      -fmodule-format=obj -g -dwarf-ext-refs -fmodules-cache-path=. \
      -fdisable-module-hash modules.m -o 1.o
 // CHECK-NOT:        DW_TAG
 // CHECK:              DW_TAG_module
 // CHECK-NEXT:           DW_AT_name{{.*}}"Bar"
-// CHECK-NOT:            DW_TAG
 // CHECK: 0x0[[BAR:.*]]: DW_TAG_structure_type
+// CHECK-NOT:              DW_TAG
 // CHECK:                  DW_AT_name {{.*}}"Bar"
 // CHECK-NOT:              DW_TAG
 // CHECK:                  DW_TAG_member
 // CHECK:                    DW_AT_name {{.*}}"value"
+// CHECK:                DW_TAG_structure_type
+// CHECK-NOT:              DW_TAG
+// CHECK:                  DW_AT_name {{.*}}"PruneMeNot"
 
 struct Bar {
   int value;
 };
 
+struct PruneMeNot;
+
 #else
 // ---------------------------------------------------------------------
 #ifdef FOO_H