Files
clang-p2996/clang/test/ClangScanDeps/modules-debug-dir.c
Qiongsi Wu 7bd492ffe8 [clang dependency scanning] Make Current Working Directory Optimization Off by Default (#129809)
https://github.com/llvm/llvm-project/pull/124786 implemented current
working directory (CWD) optimization and the optimization was on by
default. We have discovered that build system needs to be compatible
with the CWD optimization and default off is a better behavior. The
build system needs to be aware that the current working directory is
ignored. Without a good way of notifying the build system, it is less
risky to default to off. This PR implement the change.

rdar://145860213
2025-03-05 09:03:04 -08:00

33 lines
921 B
C

// REQUIRES: shell
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: sed -e "s|DIR|%/t|g" %t/cdb.json.in > %t/cdb.json
// RUN: clang-scan-deps -compilation-database %t/cdb.json -format \
// RUN: experimental-full -optimize-args=all > %t/result.json
// RUN: cat %t/result.json | sed 's:\\\\\?:/:g' | FileCheck %s
//--- cdb.json.in
[{
"directory": "DIR",
"command": "clang -c -g -gmodules DIR/tu.c -fmodules -fmodules-cache-path=DIR/cache -IDIR/include/ -fdebug-compilation-dir=DIR -o DIR/tu.o",
"file": "DIR/tu.c"
}]
//--- include/module.modulemap
module mod {
header "mod.h"
}
//--- include/mod.h
//--- tu.c
#include "mod.h"
// Check the -fdebug-compilation-dir used for the module is the root
// directory when current working directory optimization is in effect.
// CHECK: "modules": [
// CHECK: "command-line": [
// CHECK: "-fdebug-compilation-dir={{\/|.*:(\\)?}}",
// CHECK: "translation-units": [