re PR objc++/36723 (massive obj-c++ failures at rev.137407)
authorJason Merrill <jason@redhat.com>
Tue, 15 Jul 2008 05:11:18 +0000 (01:11 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 15 Jul 2008 05:11:18 +0000 (01:11 -0400)
        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

gcc/cp/ChangeLog
gcc/cp/lex.c
gcc/objc/ChangeLog
gcc/objc/objc-act.c

index ac33477482d56d1bba6f4eb28f38ee141108d153..62d2335dde1b1d78bd2b3a4a0e270ca3ef6f0d96 100644 (file)
@@ -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>
 
index 890640e912a7455e50b8ab7d9885400521a264de..ee2f2a8070698dba331975889f193de4eb9afabf 100644 (file)
@@ -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++)
index 6ebf4b14348a2bbed519201222276d8e6f5e521d..15ba12c999a0baa7517006038fb43a442d1288e6 100644 (file)
@@ -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
index 6d338a04ec6813c61de79005e852d0a77a9e5230..8cbf81a0313b29022302e109549395d5f0d86a5b 100644 (file)
@@ -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;