From: Fangrui Song Date: Sat, 14 Sep 2019 04:13:15 +0000 (+0000) Subject: [Driver] Improve Clang::getDependencyFileName and its tests after rC371853 X-Git-Tag: llvmorg-11-init~9192 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6fe3d36768bc9323906a4a367371f98e0558a0a1;p=platform%2Fupstream%2Fllvm.git [Driver] Improve Clang::getDependencyFileName and its tests after rC371853 The test file name metadata-with-dots.c is confusing because -MD and -MMD have nothing to do with metadata. llvm-svn: 371917 --- diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index d848d21..169b03b 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -6073,7 +6073,7 @@ const char *Clang::getDependencyFileName(const ArgList &Args, return Args.MakeArgString(OutputFilename); } - return Args.MakeArgString(std::string(getBaseInputStem(Args, Inputs)) + ".d"); + return Args.MakeArgString(Twine(getBaseInputStem(Args, Inputs)) + ".d"); } // Begin ClangAs diff --git a/clang/test/Driver/m-and-mm.c b/clang/test/Driver/m-and-mm.c new file mode 100644 index 0000000..6adcb86 --- /dev/null +++ b/clang/test/Driver/m-and-mm.c @@ -0,0 +1,17 @@ +// RUN: %clang -M -MM %s 2>&1 | FileCheck /dev/null --implicit-check-not=warning + +// RUN: mkdir -p %t.dir +// RUN: rm -f %t.dir/test.d +// RUN: %clang -fsyntax-only -MD %s -o %t.dir/test.i +// RUN: test -f %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: test -f %t.dir/test.d + +#warning "-M and -MM suppresses preprocessing, thus this warning shouldn't show up" +int main(void) +{ + return 0; +} diff --git a/clang/test/Driver/m_and_mm.c b/clang/test/Driver/m_and_mm.c deleted file mode 100644 index 6e40c82..0000000 --- a/clang/test/Driver/m_and_mm.c +++ /dev/null @@ -1,15 +0,0 @@ -// RUN: %clang -### \ -// RUN: -M -MM %s 2> %t -// RUN: not grep '"-sys-header-deps"' %t - -// RUN: %clang -M -MM %s 2> %t -// RUN: not grep "warning" %t - -// RUN: %clang -MMD -MD %s 2> %t || true -// RUN: grep "warning" %t - -#warning "This warning shouldn't show up with -M and -MM" -int main (void) -{ - return 0; -} diff --git a/clang/test/Driver/metadata-with-dots.c b/clang/test/Driver/metadata-with-dots.c deleted file mode 100644 index 6058b91..0000000 --- a/clang/test/Driver/metadata-with-dots.c +++ /dev/null @@ -1,11 +0,0 @@ -// REQUIRES: shell -// RUN: mkdir -p %t/out.dir -// RUN: cat %s > %t/out.dir/test.c -// RUN: %clang -E -MMD %s -o %t/out.dir/test -// RUN: test ! -f %out.d -// RUN: test -f %t/out.dir/test.d -// RUN: rm -rf %t/out.dir/test.d %t/out.dir/ out.d -int main (void) -{ - return 0; -}