summaryrefslogtreecommitdiffstats
path: root/gcc/objc
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-26 03:19:58 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-26 03:19:58 +0000
commite226f54f012e5cd2ddc9d27040968c93efbcaa6b (patch)
treef670c74040d2bd7c9bc34b8ce4221f2debfbe61a /gcc/objc
parenta64f1b1694c149e8303cebcf36bdddf6e61e3281 (diff)
downloadppe42-gcc-e226f54f012e5cd2ddc9d27040968c93efbcaa6b.tar.gz
ppe42-gcc-e226f54f012e5cd2ddc9d27040968c93efbcaa6b.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133540 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/ChangeLog6
-rw-r--r--gcc/objc/objc-act.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index b558eb6939e..7584ed19d96 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -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.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 576e5695b99..48bf974fb36 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -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)
{
OpenPOWER on IntegriCloud