aboutsummaryrefslogtreecommitdiff
path: root/gcc/objcp
diff options
context:
space:
mode:
authorIain Sandoe <iains@gcc.gnu.org>2011-02-18 00:07:38 +0000
committerNicola Pero <nicola@gcc.gnu.org>2011-02-18 00:07:38 +0000
commitd764a8e6bdae09aecb7a8378def9d900f84ce53e (patch)
treec0b6f091c931f0a65e3fb59fbd9fff3f5ba9bde9 /gcc/objcp
parent0a8134cacea8b18b0e241cc492546cbb69ae598a (diff)
downloadgcc-d764a8e6bdae09aecb7a8378def9d900f84ce53e.zip
gcc-d764a8e6bdae09aecb7a8378def9d900f84ce53e.tar.gz
gcc-d764a8e6bdae09aecb7a8378def9d900f84ce53e.tar.bz2
Added support for the 64-bit Apple Objective-C runtime
From-SVN: r170260
Diffstat (limited to 'gcc/objcp')
-rw-r--r--gcc/objcp/ChangeLog16
-rw-r--r--gcc/objcp/Make-lang.in52
-rw-r--r--gcc/objcp/config-lang.in4
-rw-r--r--gcc/objcp/objcp-lang.c18
4 files changed, 61 insertions, 29 deletions
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog
index 83999f7..a327707 100644
--- a/gcc/objcp/ChangeLog
+++ b/gcc/objcp/ChangeLog
@@ -1,3 +1,19 @@
+2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
+
+ * Make-lang.in (START_HDRS): New.
+ (OBJCXX_OBJS): Added new object files from objc/.
+ (objcp/objcp-act.o): Updated prerequisites.
+ (objcp/objcp-lang.o): Updated prerequisites.
+ (objcp/objc-runtime-shared-support.o): New.
+ (objcp/objc-gnu-runtime-abi-01.o): New.
+ (objcp/objc-next-runtime-abi-01.o): New.
+ (objcp/objc-next-runtime-abi-02.o): New.
+ * config-lang.in (gtfiles): Updated.
+ * objcp-lang.c (objcxx_eh_personality): Removed.
+ (LANG_HOOKS_EH_PERSONALITY): Removed.
+ (LANG_HOOKS_EH_RUNTIME_TYPE): Removed.
+ (objcp_eh_personality_decl): Removed.
+
2011-02-07 Mike Stump <mikestump@comcast.net>
* Make-lang.in (obj-c++.tags): Don't include *.y.
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index 2122d2d..5bbd27e 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for GNU Objective-C++
-# Copyright (C) 2005, 2007, 2008, 2009, 2010
+# Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <zlaski@apple.com>
@@ -44,12 +44,19 @@ obj-c++: cc1objplus$(exeext)
# Tell GNU make to ignore these if they exist.
.PHONY: obj-c++
+START_HDRS = $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
+ langhooks.h c-family/c-objc.h objc/objc-act.h
+
# Use maximal warnings for this front end. Also, make ObjC and C++
# headers accessible.
objcp-warn = $(STRICT_WARN) -DOBJCPLUS -I$(srcdir)/objc -I$(srcdir)/cp
# Language-specific object files for Objective C++.
OBJCXX_OBJS = objcp/objcp-act.o objcp/objcp-lang.o objcp/objcp-decl.o \
+ objcp/objc-runtime-shared-support.o \
+ objcp/objc-gnu-runtime-abi-01.o \
+ objcp/objc-next-runtime-abi-01.o \
+ objcp/objc-next-runtime-abi-02.o \
$(CXX_AND_OBJCXX_OBJS)
obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o
@@ -69,23 +76,48 @@ cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS)
# Objective C++ language specific files.
-objcp/objcp-lang.o : objcp/objcp-lang.c \
- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
- $(C_COMMON_H) $(LANGHOOKS_DEF_H) objc/objc-act.h cp/cp-objcp-common.h \
- $(TARGET_H) gtype-objcp.h c-family/c-objc.h
+objcp/objcp-lang.o : objcp/objcp-lang.c $(START_HDRS) \
+ $(C_COMMON_H) $(LANGHOOKS_DEF_H) cp/cp-objcp-common.h \
+ $(TARGET_H) gtype-objcp.h
objcp/objcp-decl.o : objcp/objcp-decl.c \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
objc/objc-act.h objcp/objcp-decl.h c-family/c-objc.h
+objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
+ $(START_HDRS) objc/objc-runtime-shared-support.h $(OBSTACK_H) \
+ objc/objc-next-metadata-tags.h gt-objc-objc-runtime-shared-support.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c $(START_HDRS) \
+ objc/objc-runtime-hooks.h $(GGC_H) \
+ gt-objc-objc-gnu-runtime-abi-01.h toplev.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c $(START_HDRS) \
+ $(GGC_H) objc/objc-runtime-hooks.h \
+ objc/objc-next-metadata-tags.h gt-objc-objc-next-runtime-abi-01.h output.h \
+ objc/objc-runtime-shared-support.h $(TARGET_H)
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c $(START_HDRS) \
+ $(GGC_H) objc/objc-runtime-hooks.h \
+ objc/objc-next-metadata-tags.h gt-objc-objc-next-runtime-abi-02.h $(TARGET_H) \
+ objc/objc-runtime-shared-support.h $(OBSTACK_H)
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+
# The following must be an explicit rule; please keep in sync with the implicit
# one in Makefile.in.
-objcp/objcp-act.o : objc/objc-act.c \
- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \
- $(EXPR_H) $(TARGET_H) $(CXX_TREE_H) $(DIAGNOSTIC_H) toplev.h $(FLAGS_H) \
- objc/objc-act.h input.h $(FUNCTION_H) output.h debug.h langhooks.h \
+objcp/objcp-act.o : objc/objc-act.c $(START_HDRS) $(GGC_H) \
+ $(RTL_H) $(EXPR_H) $(TARGET_H) $(DIAGNOSTIC_H) toplev.h $(FLAGS_H) \
+ input.h $(FUNCTION_H) output.h debug.h $(OBSTACK_H) \
objcp/objcp-decl.h $(LANGHOOKS_DEF_H) $(HASHTAB_H) gt-objc-objc-act.h \
- $(GIMPLE_H) c-family/c-objc.h
+ $(GIMPLE_H) objc/objc-runtime-hooks.h objc/objc-runtime-shared-support.h
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
$(OUTPUT_OPTION)
diff --git a/gcc/objcp/config-lang.in b/gcc/objcp/config-lang.in
index 962b9a8..b8565d8 100644
--- a/gcc/objcp/config-lang.in
+++ b/gcc/objcp/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU Objective-C++.
-# Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <zlaski@apple.com>
#This file is part of GCC.
@@ -37,4 +37,4 @@ build_by_default="no"
lang_requires="objc c++"
subdir_requires="objc cp"
-gtfiles="\$(srcdir)/objcp/objcp-decl.c \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-act.h \$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/cp-objcp-common.c"
+gtfiles="\$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/cp/call.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/method.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-objcp-common.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/rtti.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c "
diff --git a/gcc/objcp/objcp-lang.c b/gcc/objcp/objcp-lang.c
index fa674aa..fe2be66 100644
--- a/gcc/objcp/objcp-lang.c
+++ b/gcc/objcp/objcp-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for Objective-C++.
- Copyright 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
@@ -18,7 +18,6 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-
#include "config.h"
#include "system.h"
#include "coretypes.h"
@@ -35,7 +34,6 @@ along with GCC; see the file COPYING3. If not see
enum c_language_kind c_language = clk_objcxx;
static void objcxx_init_ts (void);
-static tree objcxx_eh_personality (void);
/* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h;
consequently, there should be very few hooks below. */
@@ -48,10 +46,6 @@ static tree objcxx_eh_personality (void);
#define LANG_HOOKS_GIMPLIFY_EXPR objc_gimplify_expr
#undef LANG_HOOKS_INIT_TS
#define LANG_HOOKS_INIT_TS objcxx_init_ts
-#undef LANG_HOOKS_EH_PERSONALITY
-#define LANG_HOOKS_EH_PERSONALITY objcxx_eh_personality
-#undef LANG_HOOKS_EH_RUNTIME_TYPE
-#define LANG_HOOKS_EH_RUNTIME_TYPE build_eh_type_type
/* Each front end provides its own lang hook initializer. */
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
@@ -145,14 +139,4 @@ objcxx_init_ts (void)
init_shadowed_var_for_decl ();
}
-static GTY(()) tree objcp_eh_personality_decl;
-
-static tree
-objcxx_eh_personality (void)
-{
- if (!objcp_eh_personality_decl)
- objcp_eh_personality_decl = build_personality_function ("gxx");
- return objcp_eh_personality_decl;
-}
-
#include "gtype-objcp.h"