From 74118f1510492b19b9574089d9bd8080fc8c84c0 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Thu, 9 Jun 2005 10:55:02 +0000 Subject: gjavah.c (error): Add ATTRIBUTE_PRINTF_1. * 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 | 8 ++++++++ gcc/java/gjavah.c | 2 +- gcc/java/java-tree.h | 1 - gcc/java/parse.h | 4 ++++ gcc/java/parse.y | 2 +- gcc/java/verify-impl.c | 13 ++++--------- 6 files changed, 18 insertions(+), 12 deletions(-) (limited to 'gcc') diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index b6b4a51..eeb8af4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +2005-06-09 Kaveh R. Ghazi + + * 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 * typeck.c (convert): Only clear TREE_OVERFLOW on INTEGER_CST nodes. diff --git a/gcc/java/gjavah.c b/gcc/java/gjavah.c index 5b36dae..acf62af 100644 --- a/gcc/java/gjavah.c +++ b/gcc/java/gjavah.c @@ -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; diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 53e9cfd..826d4cb 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -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); diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 232eead..c016fad 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -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)); diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 632b7ec..ebaede8 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -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 *); diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c index 30d1220..db6078e 100644 --- a/gcc/java/verify-impl.c +++ b/gcc/java/verify-impl.c @@ -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 -- cgit v1.1