OSDN Git Service

PR c/27673
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2006 10:06:17 +0000 (10:06 +0000)
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2006 10:06:17 +0000 (10:06 +0000)
* c-parser.c (c_parser_parms_declarator): Initialize had_vla_unspec.
(c_parser_parms_list_declarator): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113904 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-parser.c

index c507925..9fe0328 100644 (file)
@@ -43,6 +43,7 @@
        PR c/18740
        PR c/7948
        PR c/25802
+       PR c/27673
        * c-tree.h (struct c_arg_info): Add had_vla_unspec.
        (c_vla_unspec_p): Add.
        (c_vla_type_p): Add.
@@ -57,6 +58,8 @@
        typeof when argument is a variably modified type not inside sizeof or alignof.
        (c_parser_direct_declarator_inner): Propagate errors.
        (c_parser_sizeof_expression): Add support for [*].
+       (c_parser_parms_declarator): Initialize had_vla_unspec.
+       (c_parser_parms_list_declarator): Likewise.
        * c-typeck.c (c_vla_type_p): Add.
        (composite_type): Add support for vla compositing.
        (comptypes_internal): Add support for vla compatibility.
index eeb0ce9..8afe79c 100644 (file)
@@ -2522,6 +2522,7 @@ c_parser_parms_declarator (c_parser *parser, bool id_list_ok, tree attrs)
          ret->tags = 0;
          ret->types = list;
          ret->others = 0;
+         ret->had_vla_unspec = 0;
          c_parser_consume_token (parser);
          pop_scope ();
          return ret;
@@ -2563,6 +2564,7 @@ c_parser_parms_list_declarator (c_parser *parser, tree attrs)
       ret->tags = 0;
       ret->types = 0;
       ret->others = 0;
+      ret->had_vla_unspec = 0;
       c_parser_consume_token (parser);
       return ret;
     }
@@ -2572,6 +2574,7 @@ c_parser_parms_list_declarator (c_parser *parser, tree attrs)
       ret->parms = 0;
       ret->tags = 0;
       ret->others = 0;
+      ret->had_vla_unspec = 0;
       /* Suppress -Wold-style-definition for this case.  */
       ret->types = error_mark_node;
       error ("ISO C requires a named argument before %<...%>");
@@ -2622,6 +2625,7 @@ c_parser_parms_list_declarator (c_parser *parser, tree attrs)
              ret->tags = 0;
              ret->types = 0;
              ret->others = 0;
+             ret->had_vla_unspec = 0;
              return ret;
            }
        }
@@ -2647,6 +2651,7 @@ c_parser_parms_list_declarator (c_parser *parser, tree attrs)
                  ret->tags = 0;
                  ret->types = 0;
                  ret->others = 0;
+                 ret->had_vla_unspec = 0;
                  return ret;
                }
            }