aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/ChangeLog11
-rw-r--r--gcc/objc/objc-act.c17
-rw-r--r--gcc/objc/objc-act.h1
-rw-r--r--gcc/objc/objc-lang.c6
4 files changed, 16 insertions, 19 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 745b7bb..b3881ae 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,14 @@
+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.
+
2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented parsing @synthesize and @dynamic for
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 048d2ae..2d5a905 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -624,22 +624,15 @@ objc_init (void)
return true;
}
+/* This is called automatically (at the very end of compilation) by
+ c_write_global_declarations and cp_write_global_declarations. */
void
-objc_finish_file (void)
+objc_write_global_declarations (void)
{
mark_referenced_methods ();
-#ifdef OBJCPLUS
- /* We need to instantiate templates _before_ we emit ObjC metadata;
- if we do not, some metadata (such as selectors) may go missing. */
- at_eof = 1;
- instantiate_pending_templates (0);
-#endif
-
- /* Finalize Objective-C runtime data. No need to generate tables
- and code if only checking syntax, or if generating a PCH file. */
- if (!flag_syntax_only && !pch_file)
- finish_objc ();
+ /* Finalize Objective-C runtime data. */
+ finish_objc ();
if (gen_declaration_file)
fclose (gen_declaration_file);
diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h
index a11a6de..b7bb6f2 100644
--- a/gcc/objc/objc-act.h
+++ b/gcc/objc/objc-act.h
@@ -26,7 +26,6 @@ along with GCC; see the file COPYING3. If not see
bool objc_init (void);
const char *objc_printable_name (tree, int);
-void objc_finish_file (void);
tree objc_fold_obj_type_ref (tree, tree);
int objc_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
tree objc_eh_runtime_type (tree);
diff --git a/gcc/objc/objc-lang.c b/gcc/objc/objc-lang.c
index 2469845..839db5d 100644
--- a/gcc/objc/objc-lang.c
+++ b/gcc/objc/objc-lang.c
@@ -92,10 +92,4 @@ objc_init_ts (void)
tree_contains_struct[PROPERTY_DECL][TS_DECL_COMMON] = 1;
}
-void
-finish_file (void)
-{
- objc_finish_file ();
-}
-
#include "gtype-objc.h"