public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
@ 2002-10-13  5:03 Kaveh R. Ghazi
  2002-10-13 21:37 ` Matthias Klose
  0 siblings, 1 reply; 9+ messages in thread
From: Kaveh R. Ghazi @ 2002-10-13  5:03 UTC (permalink / raw)
  To: doko; +Cc: begcs.debian-gcc, gcc

 > From: Matthias Klose <doko at cs dot tu-berlin dot de> 
 > 
 > Bootrapping the gcc-3_2-branch using bison-1.50 is broken. Reverting
 > back to bison-1.35 works. HEAD does work well using bison-1.50
 > 
 > cd /build/gcc/gcc-3.2-3.2.1ds3/src/gcc && \
 > if bison  -o c-p$$.c c-parse.y; then \
 >   test -f c-p$$.output && mv -f c-p$$.output c-parse.output ; \
 >   mv -f c-p$$.c c-parse.c ; \
 > else \
 >   rm -f c-p$$.* ; \
 >   false ; \
 > fi
 > c-parse.y:1432.2-1436.10: type clash (`' `ttype') on default action

I checked into this one, patches were submitted for the trunk and
installed back in June for these problems.  E.g. see:
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01614.html

I guess this and other similar patches for the other .y files weren't
backported to the 3.2 branch.  This shouldn't be too bad since the
actual GCC-3.2.x release tar file will contain the necessary bison
output of a suitable bison version.  In the mean time, I suggest just
not using bison-1.50 for testing 3.2.x CVS snapshots.

I'll leave it to our release manager to decide if this issue warrants
backporting the relevant patches or not.

	Thanks for reporting this,
		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-13  5:03 gcc-3_2-branch bootstrap failure when using bison-1.50 Kaveh R. Ghazi
@ 2002-10-13 21:37 ` Matthias Klose
  2002-10-14  6:46   ` Akim Demaille
  0 siblings, 1 reply; 9+ messages in thread
From: Matthias Klose @ 2002-10-13 21:37 UTC (permalink / raw)
  To: Kaveh R. Ghazi; +Cc: debian-gcc, gcc, gcc-patches, zack, Akim Demaille

Kaveh R. Ghazi writes:
>  > From: Matthias Klose <doko at cs dot tu-berlin dot de> 
>  > 
>  > Bootrapping the gcc-3_2-branch using bison-1.50 is broken. Reverting
>  > back to bison-1.35 works. HEAD does work well using bison-1.50
>  > 
>  > cd /build/gcc/gcc-3.2-3.2.1ds3/src/gcc && \
>  > if bison  -o c-p$$.c c-parse.y; then \
>  >   test -f c-p$$.output && mv -f c-p$$.output c-parse.output ; \
>  >   mv -f c-p$$.c c-parse.c ; \
>  > else \
>  >   rm -f c-p$$.* ; \
>  >   false ; \
>  > fi
>  > c-parse.y:1432.2-1436.10: type clash (`' `ttype') on default action
> 
> I checked into this one, patches were submitted for the trunk and
> installed back in June for these problems.  E.g. see:
> http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01614.html
> 
> I guess this and other similar patches for the other .y files weren't
> backported to the 3.2 branch.  This shouldn't be too bad since the
> actual GCC-3.2.x release tar file will contain the necessary bison
> output of a suitable bison version.  In the mean time, I suggest just
> not using bison-1.50 for testing 3.2.x CVS snapshots.

it's difficult to check the branch, if you only have one bison version
available for building (Debian unstable).

> I'll leave it to our release manager to decide if this issue warrants
> backporting the relevant patches or not.

I would appreciate it.

Attached are backports of patches I found on the mailing
lists (c, cp and java). Checked today's CVS with 1.35, CVS with the
patch attached with 1.35 and with 1.50. cp and java don't show
regressions. for c:

- CVS and CVS+patch, both bison-1.35: no regressions.
- bison-1.35 and bison-1.50, both CVS+patch:

--- test-summary-1.35	2002-10-14 00:16:08.000000000 +0200
+++ test-summary-1.50	2002-10-13 13:55:39.000000000 +0200
@@ -39,11 +39,43 @@
 FAIL: gcc.c-torture/compile/20020927-1.c,  -O3 -g  
 FAIL: gcc.c-torture/execute/loop-2e.c execution,  -Os 
 FAIL: gcc.c-torture/execute/loop-3c.c execution,  -Os 
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
 
 		=== gcc Summary ===
 
-# of expected passes		18721
-# of unexpected failures	6
+# of expected passes		18689
+# of unexpected failures	38
 # of expected failures		66
 # of unsupported tests		43


I could not find any other patch on the mailing lists. Any idea or help? 
In http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01682.html Zack
mentions that he collected the patches.

Attached are the backported patches. Note, that all whitespace changes
are removed in these patches.


2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:
	2002-06-19 Akim Demaille  <akim@epita.fr>
	* c-parse.in (initelt: identifier ':' initval): Add an empty
	action to fix a type clash.
	(aliasdecl, classdef): Add the missing closing `;'.

--- gcc/c-parse.in.orig	2002-09-04 00:46:53.000000000 +0200
+++ gcc/c-parse.in	2002-10-13 09:33:10.000000000 +0200
@@ -1527,6 +1527,7 @@
 		  if (pedantic)
 		    pedwarn ("obsolete use of designated initializer with `:'"); }
 	  initval
+		{}
 	| initval
 	;
 
@@ -2700,12 +2701,14 @@
 		{
 		  objc_declare_class ($2);
 		}
+	;
 
 aliasdecl:
 	  ALIAS identifier identifier ';'
 		{
 		  objc_declare_alias ($2, $3);
 		}
+	;
 
 classdef:
 	  INTERFACE identifier protocolrefs '{'


2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:
	2002-06-19 Akim Demaille  <akim@epita.fr>
	* parse.y (TYPENAME): Rename as tTYPENAME to avoid the clash with
	decl.h's TYPENAME.
	* spew.c, lex.c: Adjust.
	* parse.y (explicit_instantiation): Add empty action to override
	the default $$ = $1 where it introduces a type clash.


--- gcc/cp/lex.c.orig	2002-05-23 21:12:23.000000000 +0200
+++ gcc/cp/lex.c	2002-10-13 09:37:59.000000000 +0200
@@ -90,10 +90,11 @@
 int warn_traditional = 0;
 int flag_digraphs = 1;
 
-/* the declaration found for the last IDENTIFIER token read in.
-   yylex must look this up to detect typedefs, which get token type TYPENAME,
-   so it is left around in case the identifier is not a typedef but is
-   used in a context which makes it a reference to a variable.  */
+/* the declaration found for the last IDENTIFIER token read in.  yylex
+   must look this up to detect typedefs, which get token type
+   tTYPENAME, so it is left around in case the identifier is not a
+   typedef but is used in a context which makes it a reference to a
+   variable.  */
 tree lastiddecl;
 
 /* Array for holding counts of the numbers of tokens seen.  */
@@ -739,7 +740,7 @@
   switch (yychar)
     {
     case IDENTIFIER:
-    case TYPENAME:
+    case tTYPENAME:
     case TYPESPEC:
     case PTYPENAME:
     case PFUNCNAME:
@@ -977,7 +978,7 @@
   if ((yychar > 255
        && yychar != SCSPEC
        && yychar != IDENTIFIER
-       && yychar != TYPENAME
+       && yychar != tTYPENAME
        && yychar != CV_QUALIFIER
        && yychar != SELFNAME)
       || yychar == 0  /* EOF */)

--- gcc/cp/parse.y.orig	2002-09-04 00:47:14.000000000 +0200
+++ gcc/cp/parse.y	2002-10-13 09:37:59.000000000 +0200
@@ -253,7 +253,7 @@
 /* All identifiers that are declared typedefs in the current block.
    In some contexts, they are treated just like IDENTIFIER,
    but they can also serve as typespecs in declarations.  */
-%token TYPENAME
+%token tTYPENAME
 %token SELFNAME
 
 /* A template function.  */
@@ -315,7 +315,7 @@
 %nonassoc IF
 %nonassoc ELSE
 
-%left IDENTIFIER PFUNCNAME TYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
+%left IDENTIFIER PFUNCNAME tTYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
 
 %left '{' ',' ';'
 
@@ -345,7 +345,7 @@
 
 %type <code> unop
 
-%type <ttype> identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist
+%type <ttype> identifier IDENTIFIER tTYPENAME CONSTANT expr nonnull_exprlist
 %type <ttype> PFUNCNAME maybe_identifier
 %type <ttype> paren_expr_or_null nontrivial_exprlist SELFNAME
 %type <ttype> expr_no_commas expr_no_comma_rangle
@@ -994,7 +994,7 @@
 
 identifier:
 	  IDENTIFIER
-	| TYPENAME
+	| tTYPENAME
 	| SELFNAME
 	| PTYPENAME
 	| NSNAME
@@ -1031,17 +1031,21 @@
 		{ do_type_instantiation ($4.t, $1, 1);
 		  yyungetc (';', 1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation typed_declspecs 
           declarator
 		{ tree specs = strip_attrs ($4.t);
 		  do_decl_instantiation (specs, $5, $1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation notype_declarator
 		{ do_decl_instantiation (NULL_TREE, $4, $1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation constructor_declarator
 		{ do_decl_instantiation (NULL_TREE, $4, $1); }
           end_explicit_instantiation
+		{}
 	;
 
 begin_explicit_instantiation: 
@@ -1060,7 +1064,7 @@
 	  PTYPENAME '<' template_arg_list_opt template_close_bracket
 	    .finish_template_type
                 { $$ = $5; }
-	| TYPENAME  '<' template_arg_list_opt template_close_bracket
+	| tTYPENAME  '<' template_arg_list_opt template_close_bracket
 	    .finish_template_type
                 { $$ = $5; }
 	| self_template_type
@@ -1532,7 +1536,7 @@
 
 unqualified_id:
 	  notype_unqualified_id
-	| TYPENAME
+	| tTYPENAME
 	| SELFNAME
 	;
 
@@ -2767,7 +2771,7 @@
 	  after_type_declarator maybeasm maybe_attribute maybe_init
 		{ $$ = parse_field0 ($1, $<ftype>0.t, $<ftype>0.lookups,
 				     $3, $2, $4); }
-	| TYPENAME ':' expr_no_commas maybe_attribute
+	| tTYPENAME ':' expr_no_commas maybe_attribute
 		{ $$ = parse_bitfield0 ($1, $<ftype>0.t, $<ftype>0.lookups,
 					$4, $3); }
 	;
@@ -2790,7 +2794,7 @@
 after_type_component_declarator:
 	  after_type_declarator maybeasm maybe_attribute maybe_init
 		{ $$ = parse_field ($1, $3, $2, $4); }
-	| TYPENAME ':' expr_no_commas maybe_attribute
+	| tTYPENAME ':' expr_no_commas maybe_attribute
 		{ $$ = parse_bitfield ($1, $4, $3); }
 	;
 
@@ -3062,7 +3066,7 @@
 	;
 
 type_name:
-	  TYPENAME
+	  tTYPENAME
 	| SELFNAME
 	| template_type  %prec EMPTY
 	;
@@ -3086,7 +3090,7 @@
 /* Why the @#$%^& do type_name and notype_identifier need to be expanded
    inline here?!?  (jason) */
 nested_name_specifier_1:
-	  TYPENAME SCOPE
+	  tTYPENAME SCOPE
 		{
 		  if (TREE_CODE ($1) == IDENTIFIER_NODE)
 		    {
@@ -3172,7 +3176,7 @@
 /* This needs to return a TYPE_DECL for simple names so that we don't
    forget what name was used.  */
 typename_sub2:
-	  TYPENAME SCOPE
+	  tTYPENAME SCOPE
 		{
 		  if (TREE_CODE ($1) != TYPE_DECL)
 		    $$ = lastiddecl;
@@ -3610,7 +3614,7 @@
                 { finish_label_stmt ($1); }
 	| PTYPENAME ':'
                 { finish_label_stmt ($1); }
-	| TYPENAME ':'
+	| tTYPENAME ':'
                 { finish_label_stmt ($1); }
 	| SELFNAME ':'
                 { finish_label_stmt ($1); }

--- gcc/cp/spew.c.orig	2002-03-02 00:38:50.000000000 +0100
+++ gcc/cp/spew.c	2002-10-13 09:37:59.000000000 +0200
@@ -141,10 +141,11 @@
 static tree last_token_id;
 
 /* From lex.c: */
-/* the declaration found for the last IDENTIFIER token read in.
-   yylex must look this up to detect typedefs, which get token type TYPENAME,
-   so it is left around in case the identifier is not a typedef but is
-   used in a context which makes it a reference to a variable.  */
+/* the declaration found for the last IDENTIFIER token read in.  yylex
+   must look this up to detect typedefs, which get token type
+   tTYPENAME, so it is left around in case the identifier is not a
+   typedef but is used in a context which makes it a reference to a
+   variable.  */
 extern tree lastiddecl;		/* let our brains leak out here too */
 extern int	yychar;		/*  the lookahead symbol		*/
 extern YYSTYPE	yylval;		/*  the semantic value of the		*/
@@ -628,11 +629,11 @@
   if (t && t == decl)
     return SELFNAME;
 
-  return TYPENAME;
+  return tTYPENAME;
 }
 
 /* token[0] == AGGR (struct/union/enum)
-   Thus, token[1] is either a TYPENAME or a TYPENAME_DEFN.
+   Thus, token[1] is either a tTYPENAME or a TYPENAME_DEFN.
    If token[2] == '{' or ':' then it's TYPENAME_DEFN.
    It's also a definition if it's a forward declaration (as in 'struct Foo;')
    which we can tell if token[2] == ';' *and* token[-1] != FRIEND or NEW.  */
@@ -644,7 +645,7 @@
   
   scan_tokens (2);
   yc1 = nth_token (1)->yychar;
-  if (yc1 != TYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME)
+  if (yc1 != tTYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME)
     return;
   yc2 = nth_token (2)->yychar;
   if (yc2 == ';')
@@ -659,7 +660,7 @@
 
   switch (yc1)
     {
-    case TYPENAME:
+    case tTYPENAME:
       nth_token (1)->yychar = TYPENAME_DEFN;
       break;
     case PTYPENAME:
@@ -757,7 +758,7 @@
       break;
     }
     case IDENTIFIER_DEFN:
-    case TYPENAME:
+    case tTYPENAME:
     case TYPENAME_DEFN:
     case PTYPENAME:
     case PTYPENAME_DEFN:
@@ -897,7 +898,7 @@
       yyc = identifier_type (trrr);
       switch(yyc)
         {
-          case TYPENAME:
+          case tTYPENAME:
           case SELFNAME:
           case NSNAME:
           case PTYPENAME:
@@ -1448,7 +1449,7 @@
 {
   if (yy<256)
     fprintf (stderr, "->%d < %c >\n", lineno, yy);
-  else if (yy == IDENTIFIER || yy == TYPENAME)
+  else if (yy == IDENTIFIER || yy == tTYPENAME)
     {
       const char *id;
       if (TREE_CODE (yylval.ttype) == IDENTIFIER_NODE)



2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:

	2002-06-10  Akim Demaille  <akim@epita.fr>
	* parse.y (interface_type_list, class_member_declaration)
	(unary_expression_not_plus_minus): Remove duplicate %type.
	Whitespace changes.

	2002-06-13  Akim Demaille  <akim@epita.fr>
	* parse.y (class_declaration, interface_declaration): Make sure
	all their rules have an action, in order to avoid meaningless `$$
	= $1' and their type clashes.

	* parse.y (catch_clause): Terminate with `;'.


--- gcc/java/parse.y.orig	2002-10-13 10:20:40.000000000 +0200
+++ gcc/java/parse.y	2002-10-13 11:05:32.000000000 +0200
@@ -522,12 +522,11 @@
 %type	 <node>		type_declaration compilation_unit
 			field_declaration method_declaration extends_interfaces
                         interfaces interface_type_list
-                        class_member_declaration
                         import_declarations package_declaration 
                         type_declarations interface_body
 			interface_member_declaration constant_declaration
 			interface_member_declarations interface_type
-			abstract_method_declaration interface_type_list
+			abstract_method_declaration
 %type	 <node>		class_body_declaration class_member_declaration
 			static_initializer constructor_declaration block
 %type	 <node>		class_body_declarations constructor_header
@@ -556,7 +555,7 @@
 			post_increment_expression post_decrement_expression
 			unary_expression_not_plus_minus unary_expression
 			pre_increment_expression pre_decrement_expression
-			unary_expression_not_plus_minus cast_expression
+			cast_expression
 			multiplicative_expression additive_expression
 			shift_expression relational_expression 
 			equality_expression and_expression 
@@ -852,9 +851,11 @@
 	modifiers CLASS_TK identifier super interfaces
 		{ create_class ($1, $3, $4, $5); }
 	class_body
+		{;}
 |	CLASS_TK identifier super interfaces 
 		{ create_class (0, $2, $3, $4); }
 	class_body
+		{;}
 |	modifiers CLASS_TK error
 		{yyerror ("Missing class name"); RECOVER;}
 |	CLASS_TK error
@@ -1285,15 +1286,19 @@
 	INTERFACE_TK identifier
 		{ create_interface (0, $2, NULL_TREE); }
 	interface_body
+		{ ; }
 |	modifiers INTERFACE_TK identifier
 		{ create_interface ($1, $3, NULL_TREE); }
 	interface_body
+		{ ; }
 |	INTERFACE_TK identifier extends_interfaces
 		{ create_interface (0, $2, $3);	}
 	interface_body
+		{ ; }
 |	modifiers INTERFACE_TK identifier extends_interfaces
 		{ create_interface ($1, $3, $4); }
 	interface_body
+		{ ; }
 |	INTERFACE_TK identifier error
 		{yyerror ("'{' expected"); RECOVER;}
 |	modifiers INTERFACE_TK identifier error
@@ -1913,6 +1918,7 @@
 		  exit_block ();
 		  $$ = $1;
 		}
+;
 
 catch_clause_parameter:
 	CATCH_TK OP_TK formal_parameter CP_TK

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-13 21:37 ` Matthias Klose
@ 2002-10-14  6:46   ` Akim Demaille
  2002-10-14  7:17     ` Akim Demaille
  0 siblings, 1 reply; 9+ messages in thread
From: Akim Demaille @ 2002-10-14  6:46 UTC (permalink / raw)
  To: Matthias Klose
  Cc: Kaveh R. Ghazi, debian-gcc, gcc, gcc-patches, zack, Bison Bugs


Please people, use the proper mail addresses: bug-bison.

----------------------------------------------------------------------

Kaveh R. Ghazi writes:
>  > From: Matthias Klose <doko at cs dot tu-berlin dot de> 
>  > 
>  > Bootrapping the gcc-3_2-branch using bison-1.50 is broken. Reverting
>  > back to bison-1.35 works. HEAD does work well using bison-1.50
>  > 
>  > cd /build/gcc/gcc-3.2-3.2.1ds3/src/gcc && \
>  > if bison  -o c-p$$.c c-parse.y; then \
>  >   test -f c-p$$.output && mv -f c-p$$.output c-parse.output ; \
>  >   mv -f c-p$$.c c-parse.c ; \
>  > else \
>  >   rm -f c-p$$.* ; \
>  >   false ; \
>  > fi
>  > c-parse.y:1432.2-1436.10: type clash (`' `ttype') on default action
> 
> I checked into this one, patches were submitted for the trunk and
> installed back in June for these problems.  E.g. see:
> http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01614.html
> 
> I guess this and other similar patches for the other .y files weren't
> backported to the 3.2 branch.  This shouldn't be too bad since the
> actual GCC-3.2.x release tar file will contain the necessary bison
> output of a suitable bison version.  In the mean time, I suggest just
> not using bison-1.50 for testing 3.2.x CVS snapshots.

it's difficult to check the branch, if you only have one bison version
available for building (Debian unstable).

> I'll leave it to our release manager to decide if this issue warrants
> backporting the relevant patches or not.

I would appreciate it.

Attached are backports of patches I found on the mailing
lists (c, cp and java). Checked today's CVS with 1.35, CVS with the
patch attached with 1.35 and with 1.50. cp and java don't show
regressions. for c:

- CVS and CVS+patch, both bison-1.35: no regressions.
- bison-1.35 and bison-1.50, both CVS+patch:

--- test-summary-1.35	2002-10-14 00:16:08.000000000 +0200
+++ test-summary-1.50	2002-10-13 13:55:39.000000000 +0200
@@ -39,11 +39,43 @@
 FAIL: gcc.c-torture/compile/20020927-1.c,  -O3 -g  
 FAIL: gcc.c-torture/execute/loop-2e.c execution,  -Os 
 FAIL: gcc.c-torture/execute/loop-3c.c execution,  -Os 
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
+FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
 
 		=== gcc Summary ===
 
-# of expected passes		18721
-# of unexpected failures	6
+# of expected passes		18689
+# of unexpected failures	38
 # of expected failures		66
 # of unsupported tests		43


I could not find any other patch on the mailing lists. Any idea or help? 
In http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01682.html Zack
mentions that he collected the patches.

Attached are the backported patches. Note, that all whitespace changes
are removed in these patches.


2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:
	2002-06-19 Akim Demaille  <akim@epita.fr>
	* c-parse.in (initelt: identifier ':' initval): Add an empty
	action to fix a type clash.
	(aliasdecl, classdef): Add the missing closing `;'.

--- gcc/c-parse.in.orig	2002-09-04 00:46:53.000000000 +0200
+++ gcc/c-parse.in	2002-10-13 09:33:10.000000000 +0200
@@ -1527,6 +1527,7 @@
 		  if (pedantic)
 		    pedwarn ("obsolete use of designated initializer with `:'"); }
 	  initval
+		{}
 	| initval
 	;
 
@@ -2700,12 +2701,14 @@
 		{
 		  objc_declare_class ($2);
 		}
+	;
 
 aliasdecl:
 	  ALIAS identifier identifier ';'
 		{
 		  objc_declare_alias ($2, $3);
 		}
+	;
 
 classdef:
 	  INTERFACE identifier protocolrefs '{'


2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:
	2002-06-19 Akim Demaille  <akim@epita.fr>
	* parse.y (TYPENAME): Rename as tTYPENAME to avoid the clash with
	decl.h's TYPENAME.
	* spew.c, lex.c: Adjust.
	* parse.y (explicit_instantiation): Add empty action to override
	the default $$ = $1 where it introduces a type clash.


--- gcc/cp/lex.c.orig	2002-05-23 21:12:23.000000000 +0200
+++ gcc/cp/lex.c	2002-10-13 09:37:59.000000000 +0200
@@ -90,10 +90,11 @@
 int warn_traditional = 0;
 int flag_digraphs = 1;
 
-/* the declaration found for the last IDENTIFIER token read in.
-   yylex must look this up to detect typedefs, which get token type TYPENAME,
-   so it is left around in case the identifier is not a typedef but is
-   used in a context which makes it a reference to a variable.  */
+/* the declaration found for the last IDENTIFIER token read in.  yylex
+   must look this up to detect typedefs, which get token type
+   tTYPENAME, so it is left around in case the identifier is not a
+   typedef but is used in a context which makes it a reference to a
+   variable.  */
 tree lastiddecl;
 
 /* Array for holding counts of the numbers of tokens seen.  */
@@ -739,7 +740,7 @@
   switch (yychar)
     {
     case IDENTIFIER:
-    case TYPENAME:
+    case tTYPENAME:
     case TYPESPEC:
     case PTYPENAME:
     case PFUNCNAME:
@@ -977,7 +978,7 @@
   if ((yychar > 255
        && yychar != SCSPEC
        && yychar != IDENTIFIER
-       && yychar != TYPENAME
+       && yychar != tTYPENAME
        && yychar != CV_QUALIFIER
        && yychar != SELFNAME)
       || yychar == 0  /* EOF */)

--- gcc/cp/parse.y.orig	2002-09-04 00:47:14.000000000 +0200
+++ gcc/cp/parse.y	2002-10-13 09:37:59.000000000 +0200
@@ -253,7 +253,7 @@
 /* All identifiers that are declared typedefs in the current block.
    In some contexts, they are treated just like IDENTIFIER,
    but they can also serve as typespecs in declarations.  */
-%token TYPENAME
+%token tTYPENAME
 %token SELFNAME
 
 /* A template function.  */
@@ -315,7 +315,7 @@
 %nonassoc IF
 %nonassoc ELSE
 
-%left IDENTIFIER PFUNCNAME TYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
+%left IDENTIFIER PFUNCNAME tTYPENAME SELFNAME PTYPENAME SCSPEC TYPESPEC CV_QUALIFIER ENUM AGGR ELLIPSIS TYPEOF SIGOF OPERATOR NSNAME TYPENAME_KEYWORD ATTRIBUTE
 
 %left '{' ',' ';'
 
@@ -345,7 +345,7 @@
 
 %type <code> unop
 
-%type <ttype> identifier IDENTIFIER TYPENAME CONSTANT expr nonnull_exprlist
+%type <ttype> identifier IDENTIFIER tTYPENAME CONSTANT expr nonnull_exprlist
 %type <ttype> PFUNCNAME maybe_identifier
 %type <ttype> paren_expr_or_null nontrivial_exprlist SELFNAME
 %type <ttype> expr_no_commas expr_no_comma_rangle
@@ -994,7 +994,7 @@
 
 identifier:
 	  IDENTIFIER
-	| TYPENAME
+	| tTYPENAME
 	| SELFNAME
 	| PTYPENAME
 	| NSNAME
@@ -1031,17 +1031,21 @@
 		{ do_type_instantiation ($4.t, $1, 1);
 		  yyungetc (';', 1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation typed_declspecs 
           declarator
 		{ tree specs = strip_attrs ($4.t);
 		  do_decl_instantiation (specs, $5, $1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation notype_declarator
 		{ do_decl_instantiation (NULL_TREE, $4, $1); }
           end_explicit_instantiation
+		{}
 	| SCSPEC TEMPLATE begin_explicit_instantiation constructor_declarator
 		{ do_decl_instantiation (NULL_TREE, $4, $1); }
           end_explicit_instantiation
+		{}
 	;
 
 begin_explicit_instantiation: 
@@ -1060,7 +1064,7 @@
 	  PTYPENAME '<' template_arg_list_opt template_close_bracket
 	    .finish_template_type
                 { $$ = $5; }
-	| TYPENAME  '<' template_arg_list_opt template_close_bracket
+	| tTYPENAME  '<' template_arg_list_opt template_close_bracket
 	    .finish_template_type
                 { $$ = $5; }
 	| self_template_type
@@ -1532,7 +1536,7 @@
 
 unqualified_id:
 	  notype_unqualified_id
-	| TYPENAME
+	| tTYPENAME
 	| SELFNAME
 	;
 
@@ -2767,7 +2771,7 @@
 	  after_type_declarator maybeasm maybe_attribute maybe_init
 		{ $$ = parse_field0 ($1, $<ftype>0.t, $<ftype>0.lookups,
 				     $3, $2, $4); }
-	| TYPENAME ':' expr_no_commas maybe_attribute
+	| tTYPENAME ':' expr_no_commas maybe_attribute
 		{ $$ = parse_bitfield0 ($1, $<ftype>0.t, $<ftype>0.lookups,
 					$4, $3); }
 	;
@@ -2790,7 +2794,7 @@
 after_type_component_declarator:
 	  after_type_declarator maybeasm maybe_attribute maybe_init
 		{ $$ = parse_field ($1, $3, $2, $4); }
-	| TYPENAME ':' expr_no_commas maybe_attribute
+	| tTYPENAME ':' expr_no_commas maybe_attribute
 		{ $$ = parse_bitfield ($1, $4, $3); }
 	;
 
@@ -3062,7 +3066,7 @@
 	;
 
 type_name:
-	  TYPENAME
+	  tTYPENAME
 	| SELFNAME
 	| template_type  %prec EMPTY
 	;
@@ -3086,7 +3090,7 @@
 /* Why the @#$%^& do type_name and notype_identifier need to be expanded
    inline here?!?  (jason) */
 nested_name_specifier_1:
-	  TYPENAME SCOPE
+	  tTYPENAME SCOPE
 		{
 		  if (TREE_CODE ($1) == IDENTIFIER_NODE)
 		    {
@@ -3172,7 +3176,7 @@
 /* This needs to return a TYPE_DECL for simple names so that we don't
    forget what name was used.  */
 typename_sub2:
-	  TYPENAME SCOPE
+	  tTYPENAME SCOPE
 		{
 		  if (TREE_CODE ($1) != TYPE_DECL)
 		    $$ = lastiddecl;
@@ -3610,7 +3614,7 @@
                 { finish_label_stmt ($1); }
 	| PTYPENAME ':'
                 { finish_label_stmt ($1); }
-	| TYPENAME ':'
+	| tTYPENAME ':'
                 { finish_label_stmt ($1); }
 	| SELFNAME ':'
                 { finish_label_stmt ($1); }

--- gcc/cp/spew.c.orig	2002-03-02 00:38:50.000000000 +0100
+++ gcc/cp/spew.c	2002-10-13 09:37:59.000000000 +0200
@@ -141,10 +141,11 @@
 static tree last_token_id;
 
 /* From lex.c: */
-/* the declaration found for the last IDENTIFIER token read in.
-   yylex must look this up to detect typedefs, which get token type TYPENAME,
-   so it is left around in case the identifier is not a typedef but is
-   used in a context which makes it a reference to a variable.  */
+/* the declaration found for the last IDENTIFIER token read in.  yylex
+   must look this up to detect typedefs, which get token type
+   tTYPENAME, so it is left around in case the identifier is not a
+   typedef but is used in a context which makes it a reference to a
+   variable.  */
 extern tree lastiddecl;		/* let our brains leak out here too */
 extern int	yychar;		/*  the lookahead symbol		*/
 extern YYSTYPE	yylval;		/*  the semantic value of the		*/
@@ -628,11 +629,11 @@
   if (t && t == decl)
     return SELFNAME;
 
-  return TYPENAME;
+  return tTYPENAME;
 }
 
 /* token[0] == AGGR (struct/union/enum)
-   Thus, token[1] is either a TYPENAME or a TYPENAME_DEFN.
+   Thus, token[1] is either a tTYPENAME or a TYPENAME_DEFN.
    If token[2] == '{' or ':' then it's TYPENAME_DEFN.
    It's also a definition if it's a forward declaration (as in 'struct Foo;')
    which we can tell if token[2] == ';' *and* token[-1] != FRIEND or NEW.  */
@@ -644,7 +645,7 @@
   
   scan_tokens (2);
   yc1 = nth_token (1)->yychar;
-  if (yc1 != TYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME)
+  if (yc1 != tTYPENAME && yc1 != IDENTIFIER && yc1 != PTYPENAME)
     return;
   yc2 = nth_token (2)->yychar;
   if (yc2 == ';')
@@ -659,7 +660,7 @@
 
   switch (yc1)
     {
-    case TYPENAME:
+    case tTYPENAME:
       nth_token (1)->yychar = TYPENAME_DEFN;
       break;
     case PTYPENAME:
@@ -757,7 +758,7 @@
       break;
     }
     case IDENTIFIER_DEFN:
-    case TYPENAME:
+    case tTYPENAME:
     case TYPENAME_DEFN:
     case PTYPENAME:
     case PTYPENAME_DEFN:
@@ -897,7 +898,7 @@
       yyc = identifier_type (trrr);
       switch(yyc)
         {
-          case TYPENAME:
+          case tTYPENAME:
           case SELFNAME:
           case NSNAME:
           case PTYPENAME:
@@ -1448,7 +1449,7 @@
 {
   if (yy<256)
     fprintf (stderr, "->%d < %c >\n", lineno, yy);
-  else if (yy == IDENTIFIER || yy == TYPENAME)
+  else if (yy == IDENTIFIER || yy == tTYPENAME)
     {
       const char *id;
       if (TREE_CODE (yylval.ttype) == IDENTIFIER_NODE)



2002-10-13  Matthias Klose  <doko@debian.org>

	* Backport, without whitespace change:

	2002-06-10  Akim Demaille  <akim@epita.fr>
	* parse.y (interface_type_list, class_member_declaration)
	(unary_expression_not_plus_minus): Remove duplicate %type.
	Whitespace changes.

	2002-06-13  Akim Demaille  <akim@epita.fr>
	* parse.y (class_declaration, interface_declaration): Make sure
	all their rules have an action, in order to avoid meaningless `$$
	= $1' and their type clashes.

	* parse.y (catch_clause): Terminate with `;'.


--- gcc/java/parse.y.orig	2002-10-13 10:20:40.000000000 +0200
+++ gcc/java/parse.y	2002-10-13 11:05:32.000000000 +0200
@@ -522,12 +522,11 @@
 %type	 <node>		type_declaration compilation_unit
 			field_declaration method_declaration extends_interfaces
                         interfaces interface_type_list
-                        class_member_declaration
                         import_declarations package_declaration 
                         type_declarations interface_body
 			interface_member_declaration constant_declaration
 			interface_member_declarations interface_type
-			abstract_method_declaration interface_type_list
+			abstract_method_declaration
 %type	 <node>		class_body_declaration class_member_declaration
 			static_initializer constructor_declaration block
 %type	 <node>		class_body_declarations constructor_header
@@ -556,7 +555,7 @@
 			post_increment_expression post_decrement_expression
 			unary_expression_not_plus_minus unary_expression
 			pre_increment_expression pre_decrement_expression
-			unary_expression_not_plus_minus cast_expression
+			cast_expression
 			multiplicative_expression additive_expression
 			shift_expression relational_expression 
 			equality_expression and_expression 
@@ -852,9 +851,11 @@
 	modifiers CLASS_TK identifier super interfaces
 		{ create_class ($1, $3, $4, $5); }
 	class_body
+		{;}
 |	CLASS_TK identifier super interfaces 
 		{ create_class (0, $2, $3, $4); }
 	class_body
+		{;}
 |	modifiers CLASS_TK error
 		{yyerror ("Missing class name"); RECOVER;}
 |	CLASS_TK error
@@ -1285,15 +1286,19 @@
 	INTERFACE_TK identifier
 		{ create_interface (0, $2, NULL_TREE); }
 	interface_body
+		{ ; }
 |	modifiers INTERFACE_TK identifier
 		{ create_interface ($1, $3, NULL_TREE); }
 	interface_body
+		{ ; }
 |	INTERFACE_TK identifier extends_interfaces
 		{ create_interface (0, $2, $3);	}
 	interface_body
+		{ ; }
 |	modifiers INTERFACE_TK identifier extends_interfaces
 		{ create_interface ($1, $3, $4); }
 	interface_body
+		{ ; }
 |	INTERFACE_TK identifier error
 		{yyerror ("'{' expected"); RECOVER;}
 |	modifiers INTERFACE_TK identifier error
@@ -1913,6 +1918,7 @@
 		  exit_block ();
 		  $$ = $1;
 		}
+;
 
 catch_clause_parameter:
 	CATCH_TK OP_TK formal_parameter CP_TK

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-14  6:46   ` Akim Demaille
@ 2002-10-14  7:17     ` Akim Demaille
  2002-10-15  3:06       ` Matthias Klose
  0 siblings, 1 reply; 9+ messages in thread
From: Akim Demaille @ 2002-10-14  7:17 UTC (permalink / raw)
  To: Matthias Klose
  Cc: Kaveh R. Ghazi, debian-gcc, gcc, gcc-patches, zack, Bison Bugs


| Attached are backports of patches I found on the mailing
| lists (c, cp and java). Checked today's CVS with 1.35, CVS with the
| patch attached with 1.35 and with 1.50. cp and java don't show
| regressions. for c:
| 
| - CVS and CVS+patch, both bison-1.35: no regressions.
| - bison-1.35 and bison-1.50, both CVS+patch:
| 
| --- test-summary-1.35	2002-10-14 00:16:08.000000000 +0200
| +++ test-summary-1.50	2002-10-13 13:55:39.000000000 +0200
| @@ -39,11 +39,43 @@
|  FAIL: gcc.c-torture/compile/20020927-1.c,  -O3 -g  
|  FAIL: gcc.c-torture/execute/loop-2e.c execution,  -Os 
|  FAIL: gcc.c-torture/execute/loop-3c.c execution,  -Os 
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
| +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
|  
|  		=== gcc Summary ===
|  
| -# of expected passes		18721
| -# of unexpected failures	6
| +# of expected passes		18689
| +# of unexpected failures	38
|  # of expected failures		66
|  # of unsupported tests		43

Could someone given some details on these errors?  I have frequently
used pre-1.50 to bootstrap GCC, with success.  Unfortunately, due to
some stupid policy here, I have stopped downloading GCC and checking
it with the current Bisons.  Nevertheless, I can't imagine what
incompatibility can have been introduced in the meanwhile.

Also, I'm not sure how

| - CVS and CVS+patch, both bison-1.35: no regressions.
| - bison-1.35 and bison-1.50, both CVS+patch:

should be read: it seems to say that there are no regressions with the
patch and 1.35 (line 1), and there are regressions with the patch and
1.35 (line 2).

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-14  7:17     ` Akim Demaille
@ 2002-10-15  3:06       ` Matthias Klose
  0 siblings, 0 replies; 9+ messages in thread
From: Matthias Klose @ 2002-10-15  3:06 UTC (permalink / raw)
  To: Akim Demaille
  Cc: Kaveh R. Ghazi, debian-gcc, gcc, gcc-patches, zack, Bison Bugs

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 1885 bytes --]

Akim Demaille writes:
> 
> | Attached are backports of patches I found on the mailing
> | lists (c, cp and java). Checked today's CVS with 1.35, CVS with the
> | patch attached with 1.35 and with 1.50. cp and java don't show
> | regressions. for c:
> | 
> | - CVS and CVS+patch, both bison-1.35: no regressions.
> | - bison-1.35 and bison-1.50, both CVS+patch:
> | 
> | --- test-summary-1.35	2002-10-14 00:16:08.000000000 +0200
> | +++ test-summary-1.50	2002-10-13 13:55:39.000000000 +0200
> | @@ -39,11 +39,43 @@
> |  FAIL: gcc.c-torture/compile/20020927-1.c,  -O3 -g  
> |  FAIL: gcc.c-torture/execute/loop-2e.c execution,  -Os 
> |  FAIL: gcc.c-torture/execute/loop-3c.c execution,  -Os 
> | +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
> | +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
> | +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
> | +FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
> [...]
> 
> Could someone given some details on these errors?  I have frequently
> used pre-1.50 to bootstrap GCC, with success.  Unfortunately, due to
> some stupid policy here, I have stopped downloading GCC and checking
> it with the current Bisons.  Nevertheless, I can't imagine what
> incompatibility can have been introduced in the meanwhile.

attched is the log of the first testcase run and the testcase.

> Also, I'm not sure how
> 
> | - CVS and CVS+patch, both bison-1.35: no regressions.
> | - bison-1.35 and bison-1.50, both CVS+patch:
> 
> should be read: it seems to say that there are no regressions with the
> patch and 1.35 (line 1),

comparing a build "current CVS" and "current CVS + backport patch",
both built with 1.35: no regressions.

> and there are regressions with the patch and 1.35 (line 2).

yes, regressions building "current CVS + backport patch", built with
bison-1.35 and bison-1.50.


[-- Attachment #2: gcc.log --]
[-- Type: application/octet-stream, Size: 16479 bytes --]

Executing on host: /mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/build/gcc/xgcc -B/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/build/gcc/ /mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c   -O0   -S  -o 920923-1.s    (timeout = 300)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: syntax error before "unsigned"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: warning: useless keyword or type name in empty declaration
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: warning: empty declaration
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:4: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:4: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:8: parse error before '*' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:8: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:10: parse error before "BYTE"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:10: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:12: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: parse error before '*' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:18: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:20: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:21: parse error before '.' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:27: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:27: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:32: parse error before '->' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:42: parse error before '->' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:49: `l2_base' undeclared here (not in a function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:49: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:50: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `a_translate':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:55: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:58: syntax error before "p_addr"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: `ITEMBITS' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: (Each undeclared identifier is reported only once
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: for each function it appears in.)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: `hash_mask' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:61: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:61: parse error before '{' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:66: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: `p_addr' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: decrement of pointer to unknown structure
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: arithmetic on pointer to an incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:72: `BUCKET_FULL' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:74: `caddr_t' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:74: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:77: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `flush_hash':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: `caddr_t' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:94: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:94: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:95: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:95: `VA_EMPTY' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `init_mem':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:104: `BYTE' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:104: parse error before ')' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:105: parse error before ')' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:110: `hash_num' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:110: `INIT_NUM_ENTRIES' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:111: sizeof applied to an incomplete type
compiler exited with status 1
output is:
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: syntax error before "unsigned"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: warning: useless keyword or type name in empty declaration
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:1: warning: empty declaration
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:4: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:4: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:8: parse error before '*' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:8: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:10: parse error before "BYTE"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:10: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:12: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: parse error before '*' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:16: warning: no semicolon at end of struct or union
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:18: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:20: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:21: parse error before '.' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:27: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:27: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:32: parse error before '->' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:42: parse error before '->' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:49: `l2_base' undeclared here (not in a function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:49: warning: data definition has no type or storage class
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:50: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `a_translate':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:55: parse error before "caddr_t"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:58: syntax error before "p_addr"
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: `ITEMBITS' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: (Each undeclared identifier is reported only once
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: for each function it appears in.)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:59: `hash_mask' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:61: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:61: parse error before '{' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:66: parse error before '}' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: `p_addr' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: decrement of pointer to unknown structure
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: arithmetic on pointer to an incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:69: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:72: `BUCKET_FULL' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:74: `caddr_t' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:74: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:77: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `flush_hash':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: `caddr_t' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:93: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:94: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:94: parse error before numeric constant
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:95: dereferencing pointer to incomplete type
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:95: `VA_EMPTY' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c: In function `init_mem':
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:104: `BYTE' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:104: parse error before ')' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:105: parse error before ')' token
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:110: `hash_num' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:110: `INIT_NUM_ENTRIES' undeclared (first use in this function)
/mnt/data/gcc-3.1/gcc-3.2-3.2.1ds3/src/gcc/testsuite/gcc.dg/noncompile/920923-1.c:111: sizeof applied to an incomplete type

PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 1)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 4)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 8)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 10)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 12)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 16)
PASS: gcc.dg/noncompile/920923-1.c  (test for warnings, line 18)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 20)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 21)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 27)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 32)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 42)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 49)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 50)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 55)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 58)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 59)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 61)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 66)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 77)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 93)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 94)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 95)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 104)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 105)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 110)
PASS: gcc.dg/noncompile/920923-1.c  (test for errors, line 111)
PASS: gcc.dg/noncompile/920923-1.c int smaller than 32 bits (test for bogus messages, line 118)
PASS: gcc.dg/noncompile/920923-1.c (test for excess errors)

[-- Attachment #3: 920923-1.c --]
[-- Type: application/octet-stream, Size: 4321 bytes --]

typedef BYTE unsigned char;	/* { dg-error "syntax error|empty decl" } */
typedef int item_n;
typedef int perm_set;
struct PENT { caddr_t v_addr; };/* { dg-error "parse error|no semicolon" } */
typedef struct PENT prec;
typedef struct PENT *prec_t;
prec_t mem_hash;
BYTE *mem_base;			/* { dg-error "parse error|no type" } */
struct PTE {
     BYTE *p_page;		/* { dg-error "parse error|no semicolon" } */
     perm_set p_perms;
};				/* { dg-error "parse error" } */
typedef struct PTE pte;
struct PTP {
     union {
	  struct *PTP p_tablep;	/* { dg-error "parse error|no semicolon" } */
	  struct *PTE p_entry;
     } u;			/* { dg-warning "no type or storage class" } */
     int valid;
};				/* { dg-error "parse error" } */
typedef struct PTP (u.p_tablep);/* { dg-error "parse error" } */
int pfree=0;
int pcount=0;

void
mmu_walk_find(va)
caddr_t va;			/* { dg-error "parse error|no type" } */
{
     BYTE *page_addr;
     if (mmu_base[Level1(va)]->valid==0x0) {
	  l1_base = mmu_base[Level1(va)]->(u.p_tablep) = p_alloc();
	  mmu_base[Level1(va)]->valid = 0x3;	/* { dg-error "parse error" } */
	  for (idx=0; idx<LEVEL1_ENTRIES; idx++)
	       l1_base[idx]->valid = 0x0;
	  goto build_level2;
     } else
	  l1_base = mmu_base[Level1(va)]->(u.p_tablep);

     if (l1_base[Level2(va)]->valid==0x0) {
     build_level2:
	  l2_base = l1_base[Level2(va)]->(u.p_tablep) = p_alloc();
	  l1_base[Level2(va)]->valid = 0x3;	/* { dg-error "parse error" } */
	  for (idx=0; idx<LEVEL2_ENTRIES; idx++)
	       l2_base[idx]->valid=0x0;
	  goto build_page;
     } else
	  l2_base = mmu_base[Level2(va)]->(u.p_tablep);

     page_addr = l2_base[Level2(va)]->valid;/* { dg-error "undeclared|no type" } */
}				/* { dg-error "parse error" } */

void *
a_translate(va_op, v_addr)
int va_op;
caddr_t v_addr;			/* { dg-error "parse error" } */
{
     register prec_t bucket;
     register caddr_t p_addr;	/* { dg-error "syntax error" } */
     bucket = mem_hash+((((v_addr)>>ITEMBITS))&hash_mask); /* { dg-error "undeclared|for each function" } */
     do {
	  if (bucket->v_addr == ((v_addr)>>ITEMBITS) {	/* { dg-error "incomplete type|parse error" } */
	       if(!(bucket->perm_set&va_op))
		    goto prot_fault;
	       return mem_base + v_addr;
	  }
     } while((bucket++)->v_addr != ((caddr_t)0));  /* { dg-error "parse error" } */

 page_miss:
     p_addr = (--bucket)->p_addr;	/* { dg-error "undeclared|pointer to" } */
 page_type:
     switch (p_addr) {
     case BUCKET_FULL:		/* { dg-error "undeclared" } */
	  enlarge_hash_table(mem_hash);
     case((caddr_t)0):		/* { dg-error "undeclared|parse error" } */
	  p_addr = fill_item_entry(va_op, v_addr);
	  goto page_type;
     case((caddr_t)1):		/* { dg-error "parse error" } */
     default:			
	  ((void)(((0))?0:(__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
				     "FALSE", 327, "b.c"), 0)));
     }
}

void
flush_hash(hasht, hash_size)
prec_t hasht;
int hash_size;
{
     register prec_t bucket;
     register int idx;
     bucket = hasht;
     for(idx=(hash_size*3)-1; idx>=0; idx--) {
	  bucket->v_addr = ((caddr_t)0);/* { dg-error "undeclared|pointer to|parse error" } */
	  bucket->p_addr = ((caddr_t)0);/* { dg-error "pointer to|parse error" } */
	  bucket->perm_set = VA_EMPTY;	/* { dg-error "undeclared|pointer to" } */
     }
}

extern void *calloc(__SIZE_TYPE__, __SIZE_TYPE__);

void
init_mem()
{
     mem_base = (BYTE *) calloc(1024, (1<<13)); /* { dg-error "undeclared|parse error" } */
     ((void)((mem_base != (BYTE *)0)	/* { dg-error "parse error" } */
	     ? 0
	     : (__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
			  "mem_base != (BYTE *)0", 366, "b.c"),
		0)));
     hash_num = INIT_NUM_ENTRIES * 3;	/* { dg-error "undeclared" } */
     mem_hash = (prec_t) calloc(hash_num, sizeof(prec)); /* { dg-error "incomplete type" } */
     ((void)((mem_hash != (prec_t)0)
	     ? 0
	     : (__eprintf("Failed assertion`%s'at line%d of`%s'.\n",
			  "mem_hash != (prec_t)0", 370, "b.c"),
		0)));
     flush_hash(mem_hash, 32);
     build_ptables(mem_base, 1024*(1<<13)); /* { dg-bogus "integer overflow" "int smaller than 32 bits" { xfail "xstormy16-*-*" } } */
}

struct tm {
     int tm_sec; int tm_min; int tm_hour;
     int tm_mday;int tm_mon; int tm_year;
     int tm_wday;int tm_yday;int tm_isdst;
     char*tm_zone; long tm_gmtoff;
};

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-15  1:34 ` Mark Mitchell
@ 2002-10-15  2:18   ` Zack Weinberg
  0 siblings, 0 replies; 9+ messages in thread
From: Zack Weinberg @ 2002-10-15  2:18 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: Kaveh R. Ghazi, doko, debian-gcc, gcc-bugs, gcc

On Mon, Oct 14, 2002 at 11:26:17PM -0700, Mark Mitchell wrote:
> 
> >I'll leave it to our release manager to decide if this issue warrants
> >backporting the relevant patches or not.
> 
> I think that your point that we will include the generated files on the
> branch is a good one; let's not backport the patches given that.

Counter-argument - Since I (like Matthias) track Debian unstable, I no
longer have bison 1.35 to use with the 3.2 branch.  I can, I suppose,
grab an old tarball, build it, install it as bison1.35, and pass
BISON= every time I do a build on the 3.2 branch, but this is a fair
amount of work.

Worse, any OS distribution which (a) includes gcc 3.2, (b) does so by
tracking the 3.2 CVS branch instead of working from offical release
tarballs, and (c) does not maintain side-by-side packages of bison
1.35 and 1.50, will have the same problem.  And it may be necessary
for them to start maintaining side-by-side packages of 1.35 and 1.50
in order to make the problem go away.  Debian unstable is in precisely
this boat.

Thus, provided that we can nail the noncompile/920923-1.c regression,
and provided that bison 1.35 continues to work, I think we probably
should backport the fixes for bison 1.50.

zw

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
  2002-10-13  5:12 Kaveh R. Ghazi
@ 2002-10-15  1:34 ` Mark Mitchell
  2002-10-15  2:18   ` Zack Weinberg
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Mitchell @ 2002-10-15  1:34 UTC (permalink / raw)
  To: Kaveh R. Ghazi, doko; +Cc: debian-gcc, gcc-bugs, gcc


> I'll leave it to our release manager to decide if this issue warrants
> backporting the relevant patches or not.

I think that your point that we will include the generated files on the
branch is a good one; let's not backport the patches given that.

-- 
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: gcc-3_2-branch bootstrap failure when using bison-1.50
@ 2002-10-13  5:12 Kaveh R. Ghazi
  2002-10-15  1:34 ` Mark Mitchell
  0 siblings, 1 reply; 9+ messages in thread
From: Kaveh R. Ghazi @ 2002-10-13  5:12 UTC (permalink / raw)
  To: doko; +Cc: debian-gcc, gcc-bugs, gcc, mark

 > From: Matthias Klose <doko at cs dot tu-berlin dot de> 
 > 
 > Bootrapping the gcc-3_2-branch using bison-1.50 is broken. Reverting
 > back to bison-1.35 works. HEAD does work well using bison-1.50
 > 
 > cd /build/gcc/gcc-3.2-3.2.1ds3/src/gcc && \
 > if bison  -o c-p$$.c c-parse.y; then \
 >   test -f c-p$$.output && mv -f c-p$$.output c-parse.output ; \
 >   mv -f c-p$$.c c-parse.c ; \
 > else \
 >   rm -f c-p$$.* ; \
 >   false ; \
 > fi
 > c-parse.y:1432.2-1436.10: type clash (`' `ttype') on default action

I checked into this one, patches were submitted for the trunk and
installed back in June for these problems.  E.g. see:
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01614.html

I guess this and other similar patches for the other .y files weren't
backported to the 3.2 branch.  This shouldn't be too bad since the
actual GCC-3.2.x release tar file will contain the necessary bison
output of a suitable bison version.  In the mean time, I suggest just
not using bison-1.50 for testing 3.2.x CVS snapshots.

I'll leave it to our release manager to decide if this issue warrants
backporting the relevant patches or not.

	Thanks for reporting this,
		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* gcc-3_2-branch bootstrap failure when using bison-1.50
@ 2002-10-12 18:18 Matthias Klose
  0 siblings, 0 replies; 9+ messages in thread
From: Matthias Klose @ 2002-10-12 18:18 UTC (permalink / raw)
  To: gcc-bugs, gcc; +Cc: debian-gcc

Bootrapping the gcc-3_2-branch using bison-1.50 is broken. Reverting
back to bison-1.35 works. HEAD does work well using bison-1.50

cd /build/gcc/gcc-3.2-3.2.1ds3/src/gcc && \
if bison  -o c-p$$.c c-parse.y; then \
  test -f c-p$$.output && mv -f c-p$$.output c-parse.output ; \
  mv -f c-p$$.c c-parse.c ; \
else \
  rm -f c-p$$.* ; \
  false ; \
fi
c-parse.y:1432.2-1436.10: type clash (`' `ttype') on default action

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-10-15  8:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-13  5:03 gcc-3_2-branch bootstrap failure when using bison-1.50 Kaveh R. Ghazi
2002-10-13 21:37 ` Matthias Klose
2002-10-14  6:46   ` Akim Demaille
2002-10-14  7:17     ` Akim Demaille
2002-10-15  3:06       ` Matthias Klose
  -- strict thread matches above, loose matches on Subject: below --
2002-10-13  5:12 Kaveh R. Ghazi
2002-10-15  1:34 ` Mark Mitchell
2002-10-15  2:18   ` Zack Weinberg
2002-10-12 18:18 Matthias Klose

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).