aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2008-07-15 01:11:18 -0400
committerJason Merrill <jason@gcc.gnu.org>2008-07-15 01:11:18 -0400
commit7ce841d2c832b46c5b72518715c41ba91cde344f (patch)
tree6d95d58f2305c07874a90ab3c4ae06cfbbe1e6a8 /gcc
parent6926c71318e0de2ffe0e4d0e24f0204e53806250 (diff)
downloadgcc-7ce841d2c832b46c5b72518715c41ba91cde344f.zip
gcc-7ce841d2c832b46c5b72518715c41ba91cde344f.tar.gz
gcc-7ce841d2c832b46c5b72518715c41ba91cde344f.tar.bz2
re PR objc++/36723 (massive obj-c++ failures at rev.137407)
PR objc++/36723 * objc/objc-act.c (objc_build_constructor): Update C++ tweak. * cp/lex.c (init_reswords): Always set D_OBJC. From-SVN: r137813
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/lex.c5
-rw-r--r--gcc/objc/ChangeLog5
-rw-r--r--gcc/objc/objc-act.c3
4 files changed, 13 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ac33477..62d2335 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2008-07-14 Jason Merrill <jason@redhat.com>
+
+ * lex.c (init_reswords): Always set D_OBJC.
+
2008-07-11 Tom Tromey <tromey@redhat.com>
Ian Lance Taylor <iant@google.com>
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 890640e..ee2f2a8 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -179,8 +179,9 @@ init_reswords (void)
mask |= D_ASM | D_EXT;
if (flag_no_gnu_keywords)
mask |= D_EXT;
- if (!c_dialect_objc())
- mask |= D_OBJC;
+
+ /* The Objective-C keywords are all context-dependent. */
+ mask |= D_OBJC;
ridpointers = GGC_CNEWVEC (tree, (int) RID_MAX);
for (i = 0; i < num_c_common_reswords; i++)
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 6ebf4b1..15ba12c 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-14 Jason Merrill <jason@redhat.com>
+
+ PR objc++/36723
+ * objc-act.c (objc_build_constructor): Update C++ tweak.
+
2007-07-14 Rafael Avila de Espindola <espindola@google.com>
* objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 6d338a0..8cbf81a 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -2028,8 +2028,7 @@ objc_build_constructor (tree type, tree elts)
/* Adjust for impedance mismatch. We should figure out how to build
CONSTRUCTORs that consistently please both the C and C++ gods. */
if (!TREE_PURPOSE (elts))
- TREE_TYPE (constructor) = NULL_TREE;
- TREE_HAS_CONSTRUCTOR (constructor) = 1;
+ TREE_TYPE (constructor) = init_list_type_node;
#endif
return constructor;