gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Thu, 9 Jun 2005 10:55:02 +0000 (10:55 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Thu, 9 Jun 2005 10:55:02 +0000 (10:55 +0000)
* gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
* java-tree.h (parse_error_context): Move...
* parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
* parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
* verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.

From-SVN: r100795

gcc/java/ChangeLog
gcc/java/gjavah.c
gcc/java/java-tree.h
gcc/java/parse.h
gcc/java/parse.y
gcc/java/verify-impl.c

index b6b4a516e46dfefe1497795917b21d8197912937..eeb8af49355f455c4b9c2a191cbac50fbbf73532 100644 (file)
@@ -1,3 +1,11 @@
+2005-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
+       * java-tree.h (parse_error_context): Move...
+       * parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
+       * parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
+       * verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
+
 2005-06-08  Roger Sayle  <roger@eyesopen.com>
 
        * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes.
index 5b36dae34bcef1c268913d3bf125304db8f1b18d..acf62afdbecb0069901705ea3960882fe3dfc7f1 100644 (file)
@@ -164,7 +164,7 @@ static const unsigned char *
   decode_signature_piece (FILE *, const unsigned char *,
                          const unsigned char *, int *);
 static void print_class_decls (FILE *, JCF *, int);
-static void error (const char *gmsgid, ...);
+static void error (const char *gmsgid, ...) ATTRIBUTE_PRINTF_1;
 static void usage (void) ATTRIBUTE_NORETURN;
 static void help (void) ATTRIBUTE_NORETURN;
 static void version (void) ATTRIBUTE_NORETURN;
index 53e9cfd1a47937bd0729c569dd7f0cd37e679322..826d4cba19e6bfb9986afba17b078ae85fbf8b11 100644 (file)
@@ -1305,7 +1305,6 @@ extern tree emit_symbol_table (tree, tree, tree, tree, tree, int);
 extern void lang_init_source (int);
 extern void write_classfile (tree);
 extern char *print_int_node (tree);
-extern void parse_error_context (tree cl, const char *gmsgid, ...);
 extern void finish_class (void);
 extern void java_layout_seen_class_methods (void);
 extern void check_for_initialization (tree, tree);
index 232eead9862fcd143ec68b744e9706f2efa2d28f..c016fad1b5d14558da686c525a0805ab26cc9611 100644 (file)
@@ -120,6 +120,10 @@ extern tree stabilize_reference (tree);
     }
 #endif
 
+#ifdef ATTRIBUTE_GCC_DIAG
+extern void parse_error_context (tree cl, const char *gmsgid, ...) ATTRIBUTE_GCC_DIAG(2,3);
+#endif
+
 #define ABSTRACT_CHECK(FLAG, V, CL, S)                         \
   if ((FLAG) & (V))                                            \
     parse_error_context ((CL), "%s method can't be abstract", (S));
index 632b7ec43fc1abfe477e3e3fb140abc32ac73ae4..ebaede8ab12862f1e999b6939bc7f9a30e0502cf 100644 (file)
@@ -96,7 +96,7 @@ static tree lookup_java_method2 (tree, tree, int);
 static tree method_header (int, tree, tree, tree);
 static void fix_method_argument_names (tree ,tree);
 static tree method_declarator (tree, tree);
-static void parse_warning_context (tree cl, const char *gmsgid, ...);
+static void parse_warning_context (tree cl, const char *gmsgid, ...) ATTRIBUTE_GCC_DIAG(2,3);
 #ifdef USE_MAPPED_LOCATION
 static void issue_warning_error_from_context
   (source_location, const char *gmsgid, va_list *);
index 30d12209449c8cfe656d2aa1de724881dea705bc..db6078e9c976f72138ddbc635d3355108e8915d0 100644 (file)
@@ -26,21 +26,16 @@ details.  */
    verification. */
 #define INVALID_STATE ((state *) -1)
 
-#ifdef VERIFY_DEBUG
-static void
-debug_print (const char *fmt, ...)
+static void ATTRIBUTE_PRINTF_1
+debug_print (const char *fmt ATTRIBUTE_UNUSED, ...)
 {
+#ifdef VERIFY_DEBUG
   va_list ap;
   va_start (ap, fmt);
   vfprintf (stderr, fmt, ap);
   va_end (ap);
-}
-#else
-static void
-debug_print (const char *fmt ATTRIBUTE_UNUSED, ...)
-{
-}    
 #endif /* VERIFY_DEBUG */
+}
 
 /* This started as a fairly ordinary verifier, and for the most part
    it remains so.  It works in the obvious way, by modeling the effect