Index: src/utils.h |
=================================================================== |
--- src/utils.h (revision 5551) |
+++ src/utils.h (working copy) |
@@ -222,12 +222,22 @@ |
// ---------------------------------------------------------------------------- |
// I/O support. |
-// Our version of printf(). Avoids compilation errors that we get |
-// with standard printf when attempting to print pointers, etc. |
-// (the errors are due to the extra compilation flags, which we |
-// want elsewhere). |
-void PrintF(const char* format, ...); |
+#if __GNUC__ >= 4 |
+// On gcc we can ask the compiler to check the types of %d-style format |
+// specifiers and their associated arguments. TODO(erikcorry) fix this |
+// so it works on MacOSX. |
+#if defined(__MACH__) && defined(__APPLE__) |
+#define PRINTF_CHECKING |
+#else // MacOsX. |
+#define PRINTF_CHECKING __attribute__ ((format (printf, 1, 2))) |
+#endif |
+#else |
+#define PRINTF_CHECKING |
+#endif |
+// Our version of printf(). |
+void PRINTF_CHECKING PrintF(const char* format, ...); |
+ |
// Our version of fflush. |
void Flush(); |