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