Replace a lame fprintf with a slightly-less lame diagnostic
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70322 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Basic/DiagnosticFrontendKinds.td b/include/clang/Basic/DiagnosticFrontendKinds.td
index 4ed49a0..d989332 100644
--- a/include/clang/Basic/DiagnosticFrontendKinds.td
+++ b/include/clang/Basic/DiagnosticFrontendKinds.td
@@ -126,4 +126,7 @@
def warn_macro_name_used_in_pch : Warning<
"definition of macro %0 conflicts with an identifier used in the "
"precompiled header">;
+def warn_pch_compiler_options_mismatch : Warning<
+ "compiler options used when building the precompiled header differ from "
+ "the ptions used when using the precompiled header">;
}
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp
index e7404f8..8324f8d 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -400,8 +400,8 @@
for (unsigned I = 0, N = MissingPredefines.size(); I != N; ++I) {
const std::string &Missing = MissingPredefines[I];
if (!startsWith(Missing, "#define ") != 0) {
- fprintf(stderr, "FIXME: command line is missing a non-macro entry in the predefines buffer that was used to build the PCH file\n%s\n",
- Missing.c_str());
+ Diag(diag::warn_pch_compiler_options_mismatch);
+ Diag(diag::note_ignoring_pch) << FileName;
return true;
}
@@ -492,8 +492,8 @@
for (unsigned I = 0, N = ExtraPredefines.size(); I != N; ++I) {
const std::string &Extra = ExtraPredefines[I];
if (!startsWith(Extra, "#define ") != 0) {
- fprintf(stderr, "FIXME: command line has extra predefines not used to build the PCH file.%s\n",
- Extra.c_str());
+ Diag(diag::warn_pch_compiler_options_mismatch);
+ Diag(diag::note_ignoring_pch) << FileName;
return true;
}