Bug 553032 - use MOZ_FORMAT_PRINTF, not explicit attribute; r?froydnj draft
authorTom Tromey <tom@tromey.com>
Wed, 12 Oct 2016 10:03:53 -0600
changeset 428048 abf3901e53b50f3050fa0d301eb9eda94036cc78
parent 428047 369fff41062922c79b4843301fe51a56a748847d
child 428049 f553b040a06754eb7e46da3ba73a801dc8a6df6e
push id33217
push userbmo:ttromey@mozilla.com
push dateFri, 21 Oct 2016 14:02:14 +0000
reviewersfroydnj
bugs553032
milestone52.0a1
Bug 553032 - use MOZ_FORMAT_PRINTF, not explicit attribute; r?froydnj MozReview-Commit-ID: FgGin8L5oTp
js/src/builtin/Profilers.cpp
js/src/jit/x86-shared/AssemblerBuffer-x86-shared.h
mfbt/Sprintf.h
--- a/js/src/builtin/Profilers.cpp
+++ b/js/src/builtin/Profilers.cpp
@@ -36,19 +36,17 @@ using namespace js;
 using mozilla::ArrayLength;
 
 /* Thread-unsafe error management */
 
 static char gLastError[2000];
 
 #if defined(__APPLE__) || defined(__linux__) || defined(MOZ_CALLGRIND)
 static void
-#ifdef __GNUC__
-__attribute__((format(printf,1,2)))
-#endif
+MOZ_FORMAT_PRINTF(1, 2)
 UnsafeError(const char* format, ...)
 {
     va_list args;
     va_start(args, format);
     (void) VsprintfLiteral(gLastError, format, args);
     va_end(args);
 }
 #endif
--- a/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.h
+++ b/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.h
@@ -181,20 +181,17 @@ namespace jit {
         GenericAssembler()
           : printer(NULL)
         {}
 
         void setPrinter(Sprinter* sp) {
             printer = sp;
         }
 
-        void spew(const char* fmt, ...)
-#ifdef __GNUC__
-            __attribute__ ((format (printf, 2, 3)))
-#endif
+        void spew(const char* fmt, ...) MOZ_FORMAT_PRINTF(2, 3)
         {
             if (MOZ_UNLIKELY(printer || JitSpewEnabled(JitSpew_Codegen))) {
                 va_list va;
                 va_start(va, fmt);
                 spew(fmt, va);
                 va_end(va);
             }
         }
--- a/mfbt/Sprintf.h
+++ b/mfbt/Sprintf.h
@@ -8,32 +8,31 @@
 
 #ifndef mozilla_Sprintf_h_
 #define mozilla_Sprintf_h_
 
 #include <stdio.h>
 #include <stdarg.h>
 
 #include "mozilla/Assertions.h"
+#include "mozilla/Attributes.h"
 
 #ifdef __cplusplus
 
 template <size_t N>
 int VsprintfLiteral(char (&buffer)[N], const char* format, va_list args)
 {
     MOZ_ASSERT(format != buffer);
     int result = vsnprintf(buffer, N, format, args);
     buffer[N - 1] = '\0';
     return result;
 }
 
 template <size_t N>
-#if defined(__GNUC__)
-  __attribute__((format(printf, 2, 3)))
-#endif
+MOZ_FORMAT_PRINTF(2, 3)
 int SprintfLiteral(char (&buffer)[N], const char* format, ...)
 {
   va_list args;
   va_start(args, format);
   int result = VsprintfLiteral(buffer, format, args);
   va_end(args);
   return result;
 }