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
Index: ChangeLog
===================================================================
--- ChangeLog	(Revision 188000)
+++ ChangeLog	(Arbeitskopie)
@@ -1,5 +1,10 @@
 2012-05-30  Tobias Burnus  <bur...@net-b.de>
 
+	PR c/53502
+	* decl.c (match_attr_spec): Remove "typedef".
+
+2012-05-30  Tobias Burnus  <bur...@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

Reply via email to