This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] PR24767 -Wno-unused-label does not work properly


Bernhard Fischer wrote:
On Fri, Oct 13, 2006 at 11:57:42AM +0200, Bernhard Fischer wrote:
:ADDPATCH fortran:

-Wno-unused-label from common.opt should be used instead of
-Wno-unused-labels from fortran/lang.opt.

Passing -Wall -Wno-unused-label to gfortran did not suppress the warning
about an unused label since gfortran crafted it's own flag called
-W(no-)unused-labels instead of using the commonly used flag in
singular.

This patch removes the fortran specific flag in favour of using the
common flag.

I'll try to find the time to regtest this patch during the weekend, but
i don't believe it can cause any harm (fwiw ;).

Bootstrapped and regtested on hppa-unknown-linux-gnu. Docs generated with make dvi pdf. Ok for trunk?
thanks,

fortran/ChangeLog

2006-10-13 Bernhard Fischer <aldot@gcc.gnu.org>

PR fortran/24767
* lang.opt (Wunused-labels): Remove.
* options.c: Remove references to gfc_option.warn_unused_labels.
* gfortran.h: Remove variable warn_unused_labels. * resolve.c (warn_unused_fortran_label) : Use warn_unused_label
instead of gfc_option.warn_unused_labels.
* invoke.texi: Remove documentation of -Wunused-labels.


testsuite/ChangeLog

2006-10-13 Bernhard Fischer <aldot@gcc.gnu.org>

       PR fortran/24767
       * gfortran.dg/label_4.f90: Adjust warning flag.


diff -rup gcc-4.2.before_pr24767/gcc/fortran/gfortran.h gcc-4.2/gcc/fortran/gfortran.h
--- gcc-4.2.before_pr24767/gcc/fortran/gfortran.h	2006-10-12 18:43:35.000000000 +0200
+++ gcc-4.2/gcc/fortran/gfortran.h	2006-10-13 11:00:58.000000000 +0200
@@ -1633,7 +1633,6 @@ typedef struct
  int warn_surprising;
  int warn_tabs;
  int warn_underflow;
-  int warn_unused_labels;

  int flag_all_intrinsics;
  int flag_default_double;
diff -rup gcc-4.2.before_pr24767/gcc/fortran/invoke.texi gcc-4.2/gcc/fortran/invoke.texi
--- gcc-4.2.before_pr24767/gcc/fortran/invoke.texi	2006-10-12 18:43:35.000000000 +0200
+++ gcc-4.2/gcc/fortran/invoke.texi	2006-10-13 11:12:23.000000000 +0200
@@ -130,7 +130,7 @@ by type.  Explanations are in the follow
-fsyntax-only  -pedantic  -pedantic-errors @gol
-w  -Wall  -Waliasing -Wampersand -Wconversion -Wimplicit-interface @gol
-Wtabs -Wnonstd-intrinsics -Wsurprising -Wunderflow @gol
--Wunused-labels -Wline-truncation -W}
+-Wline-truncation -W}

@item Debugging Options
@xref{Debugging Options,,Options for Debugging Your Program or GCC}.
@@ -403,7 +403,7 @@ Inhibit all warning messages.
@cindex warnings, all
Enables commonly used warning options pertaining to usage that
we recommend avoiding and that we believe are easy to avoid.
-This currently includes @option{-Wunused-labels}, @option{-Waliasing},
+This currently includes @option{-Waliasing},
@option{-Wampersand}, @option{-Wsurprising}, @option{-Wnonstd-intrinsic},
@option{-Wno-tabs}, and @option{-Wline-truncation}.

@@ -501,14 +501,6 @@ Produce a warning when numerical constan
encountered, which yield an UNDERFLOW during compilation.


-@cindex -Wunused-labels option -@cindex options, -Wunused-labels -@item -Wunused-labels -@cindex unused labels -@cindex labels, unused -Warn whenever a label is defined but never referenced. - - @cindex -Werror @cindex options, -Werror @item -Werror diff -rup gcc-4.2.before_pr24767/gcc/fortran/lang.opt gcc-4.2/gcc/fortran/lang.opt --- gcc-4.2.before_pr24767/gcc/fortran/lang.opt 2006-06-19 10:17:48.000000000 +0200 +++ gcc-4.2/gcc/fortran/lang.opt 2006-10-13 09:21:04.000000000 +0200 @@ -73,10 +73,6 @@ Wunderflow Fortran Warn about underflow of numerical constant expressions

-Wunused-labels
-Fortran
-Warn when a label is unused
-
fall-intrinsics
Fortran RejectNegative
All intrinsics procedures are available regardless of selected standard
diff -rup gcc-4.2.before_pr24767/gcc/fortran/options.c gcc-4.2/gcc/fortran/options.c
--- gcc-4.2.before_pr24767/gcc/fortran/options.c	2006-10-12 18:43:36.000000000 +0200
+++ gcc-4.2/gcc/fortran/options.c	2006-10-13 09:24:00.000000000 +0200
@@ -61,7 +61,6 @@ gfc_init_options (unsigned int argc ATTR
  gfc_option.warn_surprising = 0;
  gfc_option.warn_tabs = 1;
  gfc_option.warn_underflow = 1;
-  gfc_option.warn_unused_labels = 0;

gfc_option.flag_all_intrinsics = 0;
gfc_option.flag_default_double = 0;
@@ -303,8 +302,7 @@ set_Wall (void)
gfc_option.warn_surprising = 1;
gfc_option.warn_tabs = 0;
gfc_option.warn_underflow = 1;
- gfc_option.warn_unused_labels = 1;
- +
set_Wunused (1);
warn_return_type = 1;
warn_switch = 1;
@@ -428,10 +426,6 @@ gfc_handle_option (size_t scode, const c
gfc_option.warn_underflow = value;
break;


-    case OPT_Wunused_labels:
-      gfc_option.warn_unused_labels = value;
-      break;
-
    case OPT_fall_intrinsics:
      gfc_option.flag_all_intrinsics = 1;
      break;
diff -rup gcc-4.2.before_pr24767/gcc/fortran/resolve.c gcc-4.2/gcc/fortran/resolve.c
--- gcc-4.2.before_pr24767/gcc/fortran/resolve.c	2006-10-12 18:43:35.000000000 +0200
+++ gcc-4.2/gcc/fortran/resolve.c	2006-10-13 11:03:20.000000000 +0200
@@ -6877,7 +6877,7 @@ resolve_types (gfc_namespace * ns)
    resolve_equivalence (eq);

  /* Warn about unused labels.  */
-  if (gfc_option.warn_unused_labels)
+  if (warn_unused_label)
    warn_unused_fortran_label (ns->st_labels);

  gfc_resolve_uops (ns->uop_root);
diff -rup gcc-4.2.before_pr24767/gcc/testsuite/gfortran.dg/label_4.f90 gcc-4.2/gcc/testsuite/gfortran.dg/label_4.f90
--- gcc-4.2.before_pr24767/gcc/testsuite/gfortran.dg/label_4.f90	2006-02-15 09:25:01.000000000 +0100
+++ gcc-4.2/gcc/testsuite/gfortran.dg/label_4.f90	2006-10-13 11:05:49.000000000 +0200
@@ -1,5 +1,5 @@
! { dg-do compile }
-! { dg-options "-Wunused-labels" }
+! { dg-options "-Wunused-label" }
! PR 26277
! We used to give an incorect warning about label 99 not being referenced
  open(unit=12,err=99)


OK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]