aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/objc/objc-act.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a137212..bfcf1fb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-02-06 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (build_super_template) the 'class' field of
+ 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
+ (get_super_receiver): Likewise.
+
2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
* reload1.c (check_eliminable_occurrences): Optimize the reset
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index c29c4fa..70434c5 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -4344,11 +4344,19 @@ build_super_template (void)
field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl;
+#ifdef OBJCPLUS
+ /* struct objc_class *super_class; */
+#else
/* struct objc_class *class; */
+#endif
decl_specs = get_identifier (UTAG_CLASS);
decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs));
+#ifdef OBJCPLUS
+ field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("super_class"));
+#else
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class"));
+#endif
field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl);
@@ -7883,7 +7891,11 @@ get_super_receiver (void)
/* Set class to begin searching. */
super_expr = build_component_ref (UOBJC_SUPER_decl,
+#ifdef OBJCPLUS
+ get_identifier ("super_class"));
+#else
get_identifier ("class"));
+#endif
if (TREE_CODE (objc_implementation_context) == CLASS_IMPLEMENTATION_TYPE)
{