re PR objc/29197 (ICE after error with array type with undefined variable)
2008-03-25 Andrew Pinski <pinskia@gmail.com> PR objc/29197 * objc-act.c (encode_type): Handle when type is error_mark_node. (objc_push_parm): Handle when the type of parm is error_mark_node. 2008-03-25 Andrew Pinski <pinskia@gmail.com> PR objc/29197 * objc.dg/method-20.m: New testcase. From-SVN: r133540
This commit is contained in:
parent
0f9c821f73
commit
9c349a39eb
@ -1,3 +1,9 @@
|
||||
2008-03-25 Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR objc/29197
|
||||
* objc-act.c (encode_type): Handle when type is error_mark_node.
|
||||
(objc_push_parm): Handle when the type of parm is error_mark_node.
|
||||
|
||||
2008-03-25 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* Make-lang.in (objc_OBJS): New variable.
|
||||
|
@ -8075,6 +8075,9 @@ encode_type (tree type, int curtype, int format)
|
||||
enum tree_code code = TREE_CODE (type);
|
||||
char c;
|
||||
|
||||
if (type == error_mark_node)
|
||||
return;
|
||||
|
||||
if (TYPE_READONLY (type))
|
||||
obstack_1grow (&util_obstack, 'r');
|
||||
|
||||
@ -8231,6 +8234,13 @@ static void
|
||||
objc_push_parm (tree parm)
|
||||
{
|
||||
bool relayout_needed = false;
|
||||
|
||||
if (TREE_TYPE (parm) == error_mark_node)
|
||||
{
|
||||
objc_parmlist = chainon (objc_parmlist, parm);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Decay arrays and functions into pointers. */
|
||||
if (TREE_CODE (TREE_TYPE (parm)) == ARRAY_TYPE)
|
||||
{
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-03-25 Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR objc/29197
|
||||
* objc.dg/method-20.m: New testcase.
|
||||
|
||||
2008-03-25 Richard Sandiford <rsandifo@nildram.co.uk>
|
||||
|
||||
PR rtl-optimization/35232
|
||||
|
8
gcc/testsuite/objc.dg/method-20.m
Normal file
8
gcc/testsuite/objc.dg/method-20.m
Normal file
@ -0,0 +1,8 @@
|
||||
/* { dg-do compile } */
|
||||
|
||||
/* We used to crash after we found the type for int[m] was declared as invalid. */
|
||||
/* PR objc/29197 */
|
||||
|
||||
@ implementation NGActiveSocket
|
||||
+ (void) socketPair:(int[m]) _pair {} /* { dg-error "" } */
|
||||
@end
|
Loading…
Reference in New Issue
Block a user