Module Name:    src
Committed By:   plunky
Date:           Wed Aug 13 13:37:20 UTC 2014

Modified Files:
        src/external/bsd/pcc/dist/pcc/cc/ccom: cgram.y

Log Message:
update to r1.377 from upstream, commit message from ragge:

Allow for use of restrict in array declarations (as gcc does).
Fixes gnu regex compilation as reported by William D. Jones on
NetBSD current-users.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.7 -r1.2 src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y
diff -u src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y:1.1.1.7 src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y:1.2
--- src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y:1.1.1.7	Thu Jul 24 19:23:21 2014
+++ src/external/bsd/pcc/dist/pcc/cc/ccom/cgram.y	Wed Aug 13 13:37:20 2014
@@ -1,5 +1,5 @@
-/*	Id: cgram.y,v 1.376 2014/07/02 15:31:41 ragge Exp 	*/	
-/*	$NetBSD: cgram.y,v 1.1.1.7 2014/07/24 19:23:21 plunky Exp $	*/
+/*	Id: cgram.y,v 1.377 2014/07/25 09:30:39 ragge Exp 	*/
+/*	$NetBSD: cgram.y,v 1.2 2014/08/13 13:37:20 plunky Exp $	*/
 
 /*
  * Copyright (c) 2003 Anders Magnusson (ra...@ludd.luth.se).
@@ -355,7 +355,7 @@ declarator:	   '*' declarator { $$ = bdt
 			tfree($3); /* XXX - handle */
 			$$ = biop(LB, $1, $4);
 		}
-		|  declarator '[' ']' { $$ = biop(LB, $1, bcon(NOOFFSET)); }
+		|  declarator '[' maybe_r ']' { $$ = biop(LB, $1, bcon(NOOFFSET)); }
 		|  declarator '[' '*' ']' { $$ = biop(LB, $1, bcon(NOOFFSET)); }
 		|  declarator '(' parameter_type_list ')' {
 			$$ = bdty(CALL, $1, $3);
@@ -441,17 +441,17 @@ abstract_declarator:
 			$$->n_left = $3;
 		}
 		|  '(' abstract_declarator ')' { $$ = $2; }
-		|  '[' ']' attr_var {
+		|  '[' maybe_r ']' attr_var {
 			$$ = block(LB, bdty(NAME, NULL), bcon(NOOFFSET),
-			    INT, 0, gcc_attr_wrapper($3));
+			    INT, 0, gcc_attr_wrapper($4));
 		}
 		|  '[' e ']' attr_var {
 			$$ = block(LB, bdty(NAME, NULL), $2,
 			    INT, 0, gcc_attr_wrapper($4));
 		}
-		|  abstract_declarator '[' ']' attr_var {
+		|  abstract_declarator '[' maybe_r ']' attr_var {
 			$$ = block(LB, $1, bcon(NOOFFSET),
-			    INT, 0, gcc_attr_wrapper($4));
+			    INT, 0, gcc_attr_wrapper($5));
 		}
 		|  abstract_declarator '[' e ']' attr_var {
 			$$ = block(LB, $1, $3, INT, 0, gcc_attr_wrapper($5));
@@ -472,8 +472,13 @@ abstract_declarator:
 		}
 		;
 
-ib2:		  { }
+ib2:		   { }
+		;
+
+maybe_r:	   { }
+		|  C_QUALIFIER { nfree($1); }
 		;
+
 /*
  * K&R arg declaration, between ) and {
  */

Reply via email to