From 06e590e7a8871798f136f9dbd878a4a4a203d9b8 Mon Sep 17 00:00:00 2001
From: mpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 8 Jun 2016 06:41:55 +0000
Subject: 	PR c/71426 	* c-decl.c (get_parm_info): Don't crash on an
 assert on invalid 	code.

	* gcc.dg/noncompile/pr71426.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237196 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/c/ChangeLog | 4 ++++
 gcc/c/c-decl.c  | 6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

(limited to 'gcc/c')

diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 8617f08f978..9f0b91afb6a 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -3,6 +3,10 @@
 	PR c/71418
 	* c-decl.c (grokdeclarator): Check TYPE_P.
 
+	PR c/71426
+	* c-decl.c (get_parm_info): Don't crash on an assert on invalid
+	code.
+
 2016-06-07  David Malcolm  <dmalcolm@redhat.com>
 
 	* c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index ac83e2fa519..5c08c5947c0 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -7054,9 +7054,9 @@ get_parm_info (bool ellipsis, tree expr)
 	  break;
 
 	case FUNCTION_DECL:
-	  /*  FUNCTION_DECLs appear when there is an implicit function
-	      declaration in the parameter list.  */
-	  gcc_assert (b->nested);
+	  /* FUNCTION_DECLs appear when there is an implicit function
+	     declaration in the parameter list.  */
+	  gcc_assert (b->nested || seen_error ());
 	  goto set_shadowed;
 
 	case CONST_DECL:
-- 
cgit v1.2.1