1// REQUIRES: asserts
2
3// Modules:
4// RUN: rm -rf %t
5// RUN: %clang_cc1 -x objective-c -fmodules -fmodule-format=obj \
6// RUN:   -fdebug-prefix-map=%S/Inputs=/OVERRIDE \
7// RUN:   -fimplicit-module-maps -DMODULES -fmodules-cache-path=%t %s \
8// RUN:   -I %S/Inputs -I %t -emit-llvm -o %t.ll \
9// RUN:   -mllvm -debug-only=pchcontainer &>%t-mod.ll
10// RUN: cat %t-mod.ll | FileCheck %s
11
12// PCH:
13// RUN: %clang_cc1 -x objective-c -emit-pch -fmodule-format=obj -I %S/Inputs \
14// RUN:   -fdebug-prefix-map=%S/Inputs=/OVERRIDE \
15// RUN:   -o %t.pch %S/Inputs/DebugObjC.h \
16// RUN:   -mllvm -debug-only=pchcontainer &>%t-pch.ll
17// RUN: cat %t-pch.ll | FileCheck %s
18
19#ifdef MODULES
20@import DebugObjC;
21#endif
22
23// Dir should always be empty, but on Windows we can't recognize /var
24// as being an absolute path.
25// CHECK: !DIFile(filename: "/OVERRIDE/DebugObjC.h", directory: "{{()|(.*:.*)}}")
26