Clang Project

clang_source_code/test/Modules/debug-info-moduleimport.m
1// RUN: rm -rf %t
2// RUN: %clang_cc1 -debug-info-kind=limited -fmodules -DGREETING="Hello World" -UNDEBUG -fimplicit-module-maps -fmodules-cache-path=%t %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - | FileCheck %s --check-prefix=NOIMPORT
3
4// NOIMPORT-NOT: !DIImportedEntity
5// NOIMPORT-NOT: !DIModule
6
7// RUN: rm -rf %t
8// RUN: %clang_cc1 -debug-info-kind=limited -fmodules -DGREETING="Hello World" -UNDEBUG -fimplicit-module-maps -fmodules-cache-path=%t %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -debugger-tuning=lldb -o - | FileCheck %s
9
10// CHECK: ![[CU:.*]] = distinct !DICompileUnit
11@import DebugObjC;
12// CHECK: !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: ![[CU]],
13// CHECK-SAME:              entity: ![[MODULE:.*]], file: ![[F:[0-9]+]],
14// CHECK-SAME:              line: [[@LINE-3]])
15// CHECK: ![[MODULE]] = !DIModule(scope: null, name: "DebugObjC",
16// CHECK-SAME:  configMacros: "\22-DGREETING=Hello World\22 \22-UNDEBUG\22",
17// CHECK-SAME:  includePath: "{{.*}}test{{.*}}Modules{{.*}}Inputs",
18// CHECK-SAME:  isysroot: "/tmp/..")
19// CHECK: ![[F]] = !DIFile(filename: {{.*}}debug-info-moduleimport.m
20
21// RUN: %clang_cc1 -debug-info-kind=limited -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \
22// RUN:   %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - \
23// RUN:     | FileCheck %s --check-prefix=NO-SKEL-CHECK
24// NO-SKEL-CHECK: distinct !DICompileUnit
25// NO-SKEL-CHECK-NOT: distinct !DICompileUnit
26
27// RUN: %clang_cc1 -debug-info-kind=limited -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \
28// RUN:   -fmodule-format=obj -dwarf-ext-refs \
29// RUN:   %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - \
30// RUN:     | FileCheck %s --check-prefix=SKEL-CHECK
31// SKEL-CHECK: distinct !DICompileUnit
32// SKEL-CHECK: distinct !DICompileUnit{{.*}}dwoId
33