diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-opts.c | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ece54b6..bd4e118 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-06-12 Jakub Jelinek <jakub@redhat.com> + + * c-opts.c (complain_wrong_lang): Add on argument. + Print no- switch if on is false. + (c_common_decode_option): Adjust caller. + 2003-06-12 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 6f449a0..2088486 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -102,7 +102,7 @@ static size_t include_cursor; static void missing_arg PARAMS ((enum opt_code)); static void set_Wimplicit PARAMS ((int)); -static void complain_wrong_lang PARAMS ((size_t)); +static void complain_wrong_lang PARAMS ((size_t, int)); static void write_langs PARAMS ((char *, int)); static void print_help PARAMS ((void)); static void handle_OPT_d PARAMS ((const char *)); @@ -265,7 +265,7 @@ c_common_handle_option (size_t scode, const char *arg, int on) lang_mask = lang_flags[(c_language << 1) + flag_objc]; if (!(option->flags & lang_mask)) { - complain_wrong_lang (code); + complain_wrong_lang (code, on); return 1; } @@ -1553,8 +1553,9 @@ write_langs (buf, flags) /* Complain that switch OPT_INDEX does not apply to this front end. */ static void -complain_wrong_lang (opt_index) +complain_wrong_lang (opt_index, on) size_t opt_index; + int on; { char ok_langs[60], bad_langs[60]; int ok_flags = cl_options[opt_index].flags; @@ -1562,8 +1563,9 @@ complain_wrong_lang (opt_index) write_langs (ok_langs, ok_flags); write_langs (bad_langs, ~ok_flags); /* Eventually this should become a hard error. */ - warning ("\"-%s\" is valid for %s but not for %s", - cl_options[opt_index].opt_text, ok_langs, bad_langs); + warning ("\"-%c%s%s\" is valid for %s but not for %s", + cl_options[opt_index].opt_text[0], on ? "" : "no-", + cl_options[opt_index].opt_text + 1, ok_langs, bad_langs); } /* Handle --help output. */ |