re PR objc/29195 (ICE in expand_expr_real_1, at expr.c:6932)
2006-09-26 Andrew Pinski <pinskia@physics.uc.edu> PR objc/29195 * objc-act.c (objc_push_parm): If we change the type of the decl, relayout the decl. 2006-09-26 Andrew Pinski <pinskia@physics.uc.edu> PR objc/29195 * objc/compile/method-1.m: New test. From-SVN: r117229
This commit is contained in:
parent
32d662aa80
commit
e91de072ad
4 changed files with 46 additions and 12 deletions
|
@ -1,3 +1,9 @@
|
|||
2006-09-26 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR objc/29195
|
||||
* objc-act.c (objc_push_parm): If we change the type of the
|
||||
decl, relayout the decl.
|
||||
|
||||
2006-09-19 Eric Christopher <echristo@apple.com>
|
||||
|
||||
* objc-act.c (JBLEN): Rename to OBJC_JBLEN,
|
||||
|
|
|
@ -8223,11 +8223,22 @@ static GTY(()) tree objc_parmlist = NULL_TREE;
|
|||
static void
|
||||
objc_push_parm (tree parm)
|
||||
{
|
||||
bool relayout_needed = false;
|
||||
/* Decay arrays and functions into pointers. */
|
||||
if (TREE_CODE (TREE_TYPE (parm)) == ARRAY_TYPE)
|
||||
TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (TREE_TYPE (parm)));
|
||||
{
|
||||
TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (TREE_TYPE (parm)));
|
||||
relayout_needed = true;
|
||||
}
|
||||
else if (TREE_CODE (TREE_TYPE (parm)) == FUNCTION_TYPE)
|
||||
TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (parm));
|
||||
{
|
||||
TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (parm));
|
||||
relayout_needed = true;
|
||||
}
|
||||
|
||||
if (relayout_needed)
|
||||
relayout_decl (parm);
|
||||
|
||||
|
||||
DECL_ARG_TYPE (parm)
|
||||
= lang_hooks.types.type_promotes_to (TREE_TYPE (parm));
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
2006-09-26 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR objc/29195
|
||||
* objc/compile/method-1.m: New test.
|
||||
|
||||
2006-09-25 Lee Millward <lee.millward@codesourcery.com>
|
||||
|
||||
PR c++/26938
|
||||
* g++.dg/template/crash58.C: New test.
|
||||
* g++.dg/parse/crash28.C: Adjust error markers.
|
||||
* g++.dg/template/crash34.C: Likewise.
|
||||
* g++.dg/template/friend31.C: Likewise.
|
||||
* g++.dg/template/crash32.C: Likewise.
|
||||
PR c++/26938
|
||||
* g++.dg/template/crash58.C: New test.
|
||||
* g++.dg/parse/crash28.C: Adjust error markers.
|
||||
* g++.dg/template/crash34.C: Likewise.
|
||||
* g++.dg/template/friend31.C: Likewise.
|
||||
* g++.dg/template/crash32.C: Likewise.
|
||||
|
||||
PR c++/27329
|
||||
* g++.dg/template/crash59.C: New test.
|
||||
PR c++/27329
|
||||
* g++.dg/template/crash59.C: New test.
|
||||
|
||||
PR c++/27667
|
||||
* g++.dg/template/spec33.C: New test.
|
||||
* g++.old-deja/g++.pt/spec20.C: Adjust error markers.
|
||||
* g++.dg/template/spec33.C: New test.
|
||||
* g++.old-deja/g++.pt/spec20.C: Adjust error markers.
|
||||
|
||||
2006-09-24 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
Adam Nemet <anemet@caviumnetworks.com>
|
||||
|
|
12
gcc/testsuite/objc/compile/method-1.m
Normal file
12
gcc/testsuite/objc/compile/method-1.m
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* PR objc/29195 */
|
||||
/* Test that array decls are changed to a pointer type
|
||||
correctly and make sure we don't crash because the
|
||||
decl was not relayed out. */
|
||||
|
||||
@ implementation NGActiveSocket
|
||||
+ (void) socketPair:(int [2])
|
||||
_pair
|
||||
{
|
||||
_pair[0] = 0;
|
||||
}
|
||||
@end
|
Loading…
Add table
Reference in a new issue