diff options
Diffstat (limited to 'packages/gcc/gcc-4.3.1/debian/pr28322.dpatch')
-rw-r--r-- | packages/gcc/gcc-4.3.1/debian/pr28322.dpatch | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/packages/gcc/gcc-4.3.1/debian/pr28322.dpatch b/packages/gcc/gcc-4.3.1/debian/pr28322.dpatch deleted file mode 100644 index ea2ea2abcc..0000000000 --- a/packages/gcc/gcc-4.3.1/debian/pr28322.dpatch +++ /dev/null @@ -1,151 +0,0 @@ -#! /bin/sh -e - -# DP: Fix PR other/28322, GCC new warnings and compatibility. - -dir= -if [ $# -eq 3 -a "$2" = '-d' ]; then - pdir="-d $3" - dir="$3/" -elif [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi -case "$1" in - -patch) - patch $pdir -f --no-backup-if-mismatch -p0 < $0 - ;; - -unpatch) - patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 - ;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -esac -exit 0 - -gcc/ - -2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org> - - PR other/28322 - * toplev.c (toplev_main): If there are warnings or error, print - errors for ignored options. - * opts.c (ignored_options): New static variable. - (postpone_unknown_option_error): New. - (print_ignored_options): New. - (handle_option): Postpone errors for unknown -Wno-* options. - * opts.h (print_ignored_options): Declare. - -gcc/testsuite/ - -2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org> - - PR other/28322 - * gcc.dg/pr28322.c: New. - * gcc.dg/pr28322-2.c: New. - * lib/prune.exp: Ignore "At top level" even if there is no ':' - preceding it. - -Index: gcc/toplev.c -=================================================================== ---- gcc/toplev.c (revision 132801) -+++ gcc/toplev.c (working copy) -@@ -2278,6 +2278,9 @@ - if (!exit_after_options) - do_compile (); - -+ if (warningcount || errorcount) -+ print_ignored_options (); -+ - if (errorcount || sorrycount) - return (FATAL_EXIT_CODE); - -Index: gcc/testsuite/lib/prune.exp -=================================================================== ---- gcc/testsuite/lib/prune.exp (revision 132801) -+++ gcc/testsuite/lib/prune.exp (working copy) -@@ -21,7 +21,7 @@ - #send_user "Before:$text\n" - - regsub -all "(^|\n)(\[^\n\]*: )?In ((static member )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data) \[^\n\]*" $text "" text -- regsub -all "(^|\n)\[^\n\]*: At (top level|global scope):\[^\n\]*" $text "" text -+ regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text - regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $text "" text - regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text - regsub -all "(^|\n)collect2: ld returned \[^\n\]*" $text "" text -Index: gcc/opts.c -=================================================================== ---- gcc/opts.c (revision 132801) -+++ gcc/opts.c (working copy) -@@ -356,6 +356,12 @@ - static VEC(char_p,heap) *flag_instrument_functions_exclude_functions; - static VEC(char_p,heap) *flag_instrument_functions_exclude_files; - -+typedef const char *const_char_p; /* For DEF_VEC_P. */ -+DEF_VEC_P(const_char_p); -+DEF_VEC_ALLOC_P(const_char_p,heap); -+ -+static VEC(const_char_p,heap) *ignored_options; -+ - /* Input file names. */ - const char **in_fnames; - unsigned num_in_fnames; -@@ -434,6 +440,33 @@ - free (bad_lang); - } - -+/* Buffer the unknown option described by the string OPT. Currently, -+ we only complain about unknown -Wno-* options if they may have -+ prevented a diagnostic. Otherwise, we just ignore them. */ -+ -+static void postpone_unknown_option_error(const char *opt) -+{ -+ VEC_safe_push (const_char_p, heap, ignored_options, opt); -+} -+ -+/* Produce an error for each option previously buffered. */ -+ -+void print_ignored_options (void) -+{ -+ location_t saved_loc = input_location; -+ -+ input_location = 0; -+ -+ while (!VEC_empty (const_char_p, ignored_options)) -+ { -+ const char *opt; -+ opt = VEC_pop (const_char_p, ignored_options); -+ error ("unrecognized command line option \"%s\"", opt); -+ } -+ -+ input_location = saved_loc; -+} -+ - /* Handle the switch beginning at ARGV for the language indicated by - LANG_MASK. Returns the number of switches consumed. */ - static unsigned int -@@ -463,6 +496,14 @@ - opt = dup; - value = 0; - opt_index = find_opt (opt + 1, lang_mask | CL_COMMON | CL_TARGET); -+ if (opt_index == cl_options_count && opt[1] == 'W') -+ { -+ /* We don't generate errors for unknown -Wno-* options -+ unless we issue diagnostics. */ -+ postpone_unknown_option_error (argv[0]); -+ result = 1; -+ goto done; -+ } - } - - if (opt_index == cl_options_count) -Index: gcc/opts.h -=================================================================== ---- gcc/opts.h (revision 132801) -+++ gcc/opts.h (working copy) -@@ -105,4 +105,5 @@ - - extern void enable_warning_as_error (const char *arg, int value, - unsigned int lang_mask); -+extern void print_ignored_options (void); - #endif |