diff options
author | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-18 00:07:38 +0000 |
---|---|---|
committer | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-18 00:07:38 +0000 |
commit | 267785bc5842cf1338043dd2e5581c1a3db645ef (patch) | |
tree | c0b6f091c931f0a65e3fb59fbd9fff3f5ba9bde9 /gcc/objcp | |
parent | d2807aa3377e3c4fc328896869e094f04bfd8022 (diff) | |
download | gcc-267785bc5842cf1338043dd2e5581c1a3db645ef.tar.gz |
Added support for the 64-bit Apple Objective-C runtime
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170260 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/objcp')
-rw-r--r-- | gcc/objcp/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/objcp/Make-lang.in | 52 | ||||
-rw-r--r-- | gcc/objcp/config-lang.in | 4 | ||||
-rw-r--r-- | gcc/objcp/objcp-lang.c | 18 |
4 files changed, 61 insertions, 29 deletions
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index 83999f7f310..a327707573a 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 2122d2df7e6..5bbd27eec35 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 962b9a8fccf..b8565d83c59 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 fa674aafc11..fe2be66fff6 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" |