Patchwork [Fortran] PR53502 - Remove "typedef" to make bootstrappable with --disable-build-poststage1-with-cxx

login
register
mail settings
Submitter Tobias Burnus
Date May 30, 2012, 6:48 a.m.
Message ID <4FC5C2A7.3070401@net-b.de>
Download mbox | patch
Permalink /patch/161872/
State New
Headers show

Comments

Tobias Burnus - May 30, 2012, 6:48 a.m.
This patch removes a "typedef" to make GCC bootstrappable with 
--disable-build-poststage1-with-cxx.

For some reason, only C and not C++ complains about the unused typedef 
(cf. PR).

I considered using the typedef name, but that fails in C++, which does 
not like the use of "d++" on an enum type in:

   for (d = GFC_DECL_BEGIN; d != GFC_DECL_END; d++)
     seen[d] = 0;

Build on x86-64-linux (C++ bootstrap build).
I intent to commit the attached patch as obvious.

Tobias

Patch

Index: ChangeLog
===================================================================
--- ChangeLog	(Revision 188000)
+++ ChangeLog	(Arbeitskopie)
@@ -1,5 +1,10 @@ 
 2012-05-30  Tobias Burnus  <burnus@net-b.de>
 
+	PR c/53502
+	* decl.c (match_attr_spec): Remove "typedef".
+
+2012-05-30  Tobias Burnus  <burnus@net-b.de>
+
 	* decl.c: Fix comment typos.
 	* expr.c: Ditto.
 	* frontend-passes.c: Ditto.
Index: decl.c
===================================================================
--- decl.c	(Revision 188000)
+++ decl.c	(Arbeitskopie)
@@ -3264,7 +3264,7 @@  static match
 match_attr_spec (void)
 {
   /* Modifiers that can exist in a type statement.  */
-  typedef enum
+  enum
   { GFC_DECL_BEGIN = 0,
     DECL_ALLOCATABLE = GFC_DECL_BEGIN, DECL_DIMENSION, DECL_EXTERNAL,
     DECL_IN, DECL_OUT, DECL_INOUT, DECL_INTRINSIC, DECL_OPTIONAL,
@@ -3272,8 +3272,7 @@  match_attr_spec (void)
     DECL_PUBLIC, DECL_SAVE, DECL_TARGET, DECL_VALUE, DECL_VOLATILE,
     DECL_IS_BIND_C, DECL_CODIMENSION, DECL_ASYNCHRONOUS, DECL_CONTIGUOUS,
     DECL_NONE, GFC_DECL_END /* Sentinel */
-  }
-  decl_types;
+  };
 
 /* GFC_DECL_END is the sentinel, index starts at 0.  */
 #define NUM_DECL GFC_DECL_END