]> granicus.if.org Git - clang/commitdiff
Replace a lame fprintf with a slightly-less lame diagnostic
authorDouglas Gregor <dgregor@apple.com>
Tue, 28 Apr 2009 20:36:16 +0000 (20:36 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 28 Apr 2009 20:36:16 +0000 (20:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70322 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticFrontendKinds.td
lib/Frontend/PCHReader.cpp

index 4ed49a0ee47dceb695ef1131299396f1e8e681b3..d989332d0c4544dd7ded407d517ce653749ebbcc 100644 (file)
@@ -126,4 +126,7 @@ def note_using_macro_def_from_pch : Note<
 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">;
 }
index e7404f899bc69c9124e535ccbc545705e7f4376a..8324f8de0b255c65116772b0dc11f9e7763ced98 100644 (file)
@@ -400,8 +400,8 @@ bool PCHReader::CheckPredefinesBuffer(const char *PCHPredef,
   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 @@ bool PCHReader::CheckPredefinesBuffer(const char *PCHPredef,
   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;
     }