Fangrui Song 55abd2b295 [Driver] Fix multiple bugs related to dependency file options: -M -MM -MD -MMD -MT -MQ
-M -o test.i => dependency file is test.d, not test.i
-MM -o test.i => dependency file is test.d, not test.i
-M -MMD => bogus warning -Wunused-command-line-argument
-M MT dummy => -w not rendered

llvm-svn: 371918
2019-09-14 06:01:22 +00:00

36 lines
1.1 KiB
C

// RUN: %clang -M %s 2>&1 | FileCheck %s --implicit-check-not=warning
// RUN: %clang -MM %s 2>&1 | FileCheck %s --implicit-check-not=warning
// CHECK: m-and-mm.o:
// TEST-I: {{.*}}test.i:
// TEST: {{.*}}test:
// RUN: mkdir -p %t.dir
/// if -MD and -MMD are not specified, -o specifies the dependency file name.
// RUN: rm -f %t.dir/test.i
// RUN: %clang -M %s -o %t.dir/test.i
// RUN: FileCheck %s < %t.dir/test.i
// RUN: rm -f %t.dir/test.i
// RUN: %clang -MM %s -o %t.dir/test.i
// RUN: FileCheck %s < %t.dir/test.i
// RUN: rm -f %t.dir/test.d
// RUN: %clang -fsyntax-only -MD %s -o %t.dir/test.i
// RUN: FileCheck --check-prefix=TEST-I %s < %t.dir/test.d
// RUN: rm -f %t.dir/test.d
// RUN: %clang -M -MD %s -o %t.dir/test.i
// RUN: FileCheck --check-prefix=TEST-I %s < %t.dir/test.d
/// If the output file name does not have a suffix, just append `.d`.
// RUN: rm -f %t.dir/test.d
// RUN: %clang -fsyntax-only -MD %s -o %t.dir/test
// RUN: FileCheck --check-prefix=TEST %s < %t.dir/test.d
#warning "-M and -MM suppresses warnings, thus this warning shouldn't show up"
int main(void)
{
return 0;
}