aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-10-20 09:08:57 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-20 09:08:57 +0000
commit977e30bc45295e5c53967dc1a291fb93fe817a2a (patch)
tree77a27cf850b61490643a0ebe4d3a9737add96fa6 /gcc/cp
parentb170a7784c23c155f668bbe1c89cb81311a82e4a (diff)
downloadgcc-977e30bc45295e5c53967dc1a291fb93fe817a2a.zip
gcc-977e30bc45295e5c53967dc1a291fb93fe817a2a.tar.gz
gcc-977e30bc45295e5c53967dc1a291fb93fe817a2a.tar.bz2
In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> * c-decl.c (c_write_global_declarations): Call objc_write_global_declarations when compiling Objective-C. * c-lang.c (finish_file): Removed. In gcc/c-family/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> * c-common.h (finish_file): Removed. (objc_write_global_declarations): New. * c-opts.c (c_common_parse_file): Do not call finish_file. * stub-objc.c (objc_write_global_declarations): New. In gcc/cp/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> * cp-lang.c (finish_file): Removed. * decl2.c (cp_write_global_declarations): Call objc_write_global_declarations when compiling Objective-C++. In gcc/objc/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> * objc-lang.c (finish_file): Removed. * objc-act.c (objc_finish_file): Renamed to objc_write_global_declarations. Do not try to instantiate C++ templates when compiling Objective-C++ as this is now automatically done before this function is called. Do not check for syntax-only run or PCH generation as this is done by the callers. * objc-act.h (objc_finish_file): Removed. In gcc/objcp/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> * objcp-lang.c (finish_file): Removed. In gcc/testsuite/: 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. Test adapted to not require Foundation and run with the GNU runtime as well. 2006-03-13 Fariborz Jahanian <fjahanian@apple.com> Radar 4439126 * obj-c++.dg/template-8.mm: New. From-SVN: r165714
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-lang.c5
-rw-r--r--gcc/cp/decl2.c8
3 files changed, 14 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8a084df..7343b2d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * cp-lang.c (finish_file): Removed.
+ * decl2.c (cp_write_global_declarations): Call
+ objc_write_global_declarations when compiling Objective-C++.
+
2010-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/46046
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index a07d7be..f274d31 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -154,11 +154,6 @@ cp_classify_record (tree type)
return RECORD_IS_STRUCT;
}
-void
-finish_file (void)
-{
-}
-
static GTY(()) tree cp_eh_personality_decl;
static tree
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index fcc83fb..f27e7d6 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -3896,6 +3896,14 @@ cp_write_global_declarations (void)
if (!decl_defined_p (decl))
no_linkage_error (decl);
+ /* Then, do the Objective-C stuff. This is where all the
+ Objective-C module stuff gets generated (symtab,
+ class/protocol/selector lists etc). This must be done after C++
+ templates, destructors etc. so that selectors used in C++
+ templates are properly allocated. */
+ if (c_dialect_objc ())
+ objc_write_global_declarations ();
+
/* We give C linkage to static constructors and destructors. */
push_lang_context (lang_name_c);