Module Name: src
Committed By: yamt
Date: Thu May 22 16:45:04 UTC 2014
Modified Files:
src/external/gpl3/gcc/dist/gcc/objcp [yamt-pagecache]: ChangeLog
Make-lang.in config-lang.in lang-specs.h objcp-decl.c objcp-decl.h
objcp-lang.c
Log Message:
sync with head.
for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.1 -r1.1.1.1.2.2 \
src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.2.1 \
src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in \
src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in \
src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h \
src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c \
src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h \
src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog
diff -u src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog:1.1.1.1.2.1 src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog:1.1.1.1.2.2
--- src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog:1.1.1.1.2.1 Tue Oct 30 18:57:10 2012
+++ src/external/gpl3/gcc/dist/gcc/objcp/ChangeLog Thu May 22 16:45:04 2014
@@ -1,22 +1,205 @@
-2012-07-02 Release Manager
+2013-10-16 Release Manager
- * GCC 4.5.4 released.
+ * GCC 4.8.2 released.
-2011-04-28 Release Manager
+2013-05-31 Release Manager
- * GCC 4.5.3 released.
+ * GCC 4.8.1 released.
-2010-12-16 Release Manager
+2013-03-22 Release Manager
- * GCC 4.5.2 released.
+ * GCC 4.8.0 released.
-2010-07-31 Release Manager
+2012-06-02 Jason Merrill <[email protected]>
- * GCC 4.5.1 released.
+ * objcp-decl.c (objcp_start_struct): Adjust for change in
+ begin_class_definition prototype.
-2010-04-14 Release Manager
+2011-10-14 Nicola Pero <[email protected]>
- * GCC 4.5.0 released.
+ * Make-lang.in (OBJCXX_OBJS): Added objc-map.o.
+ (objcp/objc-map.o): New rule.
+ (objcp/objcp-act.o): Depend on objc/objc-map.h.
+ * config-lang.in (gtfiles): Added objc-map.h.
+
+2011-07-11 Nicola Pero <[email protected]>
+
+ * Make-lang.in (objcp/objc-runtime-shared-support.o): Do not
+ depend on OBSTACK_H.
+ (objcp/objc-gnu-runtime-abi-01.o): Likewise.
+ (objcp/objc-next-runtime-abi-01.o): Likewise.
+ (objcp/objc-next-runtime-abi-02.o): Likewise.
+ (objcp/objcp-act.o): Likewise.
+
+2011-07-04 Nicola Pero <[email protected]>
+
+ * Make-lang.in (OBJCXX_OBJS): Added objc-encoding.o.
+ (objcp/objcp-lang.o): Reordered dependencies. Depend on GGC_H.
+ (objcp/objcp-decl.o): Reordered dependencies.
+ (objcp/objc-runtime-shared-support.o): Reordered dependencies.
+ Updated them to be identical to the corresponding new objc/ ones,
+ with the addition of objcp-decl.h.
+ (objcp/objc-runtime-shared-support.o): Likewise.
+ (objcp/objc-gnu-runtime-abi-01.o): Likewise.
+ (objcp/objc-next-runtime-abi-01.o): Likewise.
+ (objcp/objc-next-runtime-abi-02.o): Likewise.
+ (objcp/objcp-act.o): Reordered dependencies. Added dependency on
+ objc-encoding.h.
+ (objcp/objc-encoding.o): New rule.
+
+2011-04-15 Nicola Pero <[email protected]>
+
+ * objcp-decl.c (objcp_finish_struct): Use
+ objc_detect_field_duplicates instead of having a local
+ implementation.
+
+2011-04-12 Nathan Froyd <[email protected]>
+
+ * objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
+ cp_common_init_ts.
+
+2011-03-21 Nicola Pero <[email protected]>
+
+ PR bootstrap/48167
+ * Make-lang.in (START_HDRS): Added CXX_PARSER_H and
+ CXX_PRETTY_PRINT_H.
+ * config-lang.in (gtfiles): Added cp/parser.h and reorganized list
+ so that it is more obvious that it is identical to the C++ one
+ with the addition of some files at the end.
+
+2011-03-06 Joseph Myers <[email protected]>
+
+ * lang-specs.h: Match -save-temps* instead of -save-temps.
+
+2011-02-20 Nicola Pero <[email protected]>
+
+ PR objc++/47711
+ * config-lang.in (gtfiles): Updated list.
+
+2011-02-17 Iain Sandoe <[email protected]>
+
+ * 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 <[email protected]>
+
+ * Make-lang.in (obj-c++.tags): Don't include *.y.
+
+2010-12-29 Nicola Pero <[email protected]>
+
+ * objcp-lang.c (objcp_tsubst_copy_and_build): Update call to
+ objc_finish_message_expr.
+
+2010-12-26 Nicola Pero <[email protected]>
+
+ * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c.
+
+2010-12-06 Nicola Pero <[email protected]>
+
+ * config-lang.in (gtfiles): Added c-family/c-objc.h.
+ * Make-lang.in (objcp/objcp-act.o): Depend on
+ c-family/c-objc.h.
+ (objcp/objcp-lang.o): Same change.
+ (objcp/objcp-decl.o): Same change.
+ * objcp-lang.c: Include c-family/c-objc.h.
+ * objcp-decl.c: Same change.
+
+2010-11-23 Nicola Pero <[email protected]>
+
+ PR objc/24358
+ * lang-specs.h: Print a deprecation note every time
+ objc++-cpp-output is requested.
+
+2010-10-24 Nicola Pero <[email protected]>
+
+ * objcp-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Do not define.
+
+2010-10-20 Nicola Pero <[email protected]>
+
+ * objcp-lang.c (finish_file): Removed.
+
+2010-10-14 Iain Sandoe <[email protected]>
+
+ merge from FSF apple 'trunk' branch.
+ 2006 Fariborz Jahanian <[email protected]>
+
+ Radars 4436866, 4505126, 4506903, 4517826
+ * objcp-lang.c (objcxx_init_ts): Update for property_decl.
+
+2010-10-13 Richard Henderson <[email protected]>
+
+ * objcp-lang.c (objcxx_eh_personality): Update call to
+ build_personality_function.
+
+2010-10-11 Andi Kleen <[email protected]>
+
+ * Make-lang.in (cc1objplus-checksum.c): Use correct temporary
+ name.
+
+2010-10-07 Andi Kleen <[email protected]>
+
+ * Make-lang.in (cc1objplus-dummy): Remove.
+ (cc1objplus-checksum): Change to run checksum over object files
+ and options only.
+
+2010-10-04 Andi Kleen <[email protected]>
+
+ * Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.
+
+2010-09-28 Richard Henderson <[email protected]>
+
+ * objcp-lang.c: Include "target.h".
+ (objcxx_eh_personality): Use targetm.except_unwind_info.
+ * Make-lang.in (objcp-lang.o): Update deps.
+
+2010-09-21 Nicola Pero <[email protected]>
+
+ PR objc/25965
+ * objcp-decl.c (objcp_finish_struct): Call
+ objc_get_interface_ivars() and check for duplicate ivars.
+
+2010-06-28 Steven Bosscher <[email protected]>
+
+ * objcp-lang.c: Do not include except.h.
+ * Make-lang.in: Update dependencies.
+
+2010-06-25 Joseph Myers <[email protected]>
+
+ * lang-specs.h: Remove +e handling.
+
+2010-06-08 Laurynas Biveinis <[email protected]>
+
+ * objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
+ allocation.
+
+2010-06-05 Steven Bosscher <[email protected]>
+
+ * objcp-lang.c: Update include path for moved files.
+ * config-lang.in: Update paths in gtfiles for files in c-family/.
+
+2010-05-25 Steven Bosscher <[email protected]>
+
+ * objcp-decl.c: Do not include tm.h, rtl.h, expr.h, c-common.h,
+ flags.h, input.h, except.h, output.h, toplev.h, cpplib.h, debug.h,
+ and target.h.
+ * objcp-lang.c: Do not include tm.h, toplev.h, diagnostics.h,
+ and debug.h. Explain why except.h has to be included.
+ * Make-lang.in: Update dependencies.
+
+2010-04-30 Steven Bosscher <[email protected]>
+
+ * objcp-decl.c: Do not include varray.h.
2009-09-22 Richard Guenther <[email protected]>
@@ -265,7 +448,7 @@
* objcp-lang.c: Likewise.
-Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 2005-2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
Index: src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in
diff -u src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/Make-lang.in Thu May 22 16:45:04 2014
@@ -1,6 +1,5 @@
# Top level -*- makefile -*- fragment for GNU Objective-C++
-# Copyright (C) 2005, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 2005-2013 Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <[email protected]>
#This file is part of GCC.
@@ -44,50 +43,134 @@ 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) \
+ $(CXX_PARSER_H) $(CXX_PRETTY_PRINT_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 \
+ objcp/objc-encoding.o \
+ objcp/objc-map.o \
$(CXX_AND_OBJCXX_OBJS)
obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus-checksum.o
-cc1objplus-dummy$(exeext): $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) \
- $(LIBDEPS)
- $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
-
-cc1objplus-checksum.c : cc1objplus-dummy$(exeext) build/genchecksum$(build_exeext)
- build/genchecksum$(build_exeext) cc1objplus-dummy$(exeext) > $@
+cc1objplus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
+ $(OBJCXX_OBJS) $(BACKEND) $(LIBDEPS)
+ build/genchecksum$(build_exeext) $(OBJCXX_OBJS) $(BACKEND) \
+ $(LIBDEPS) checksum-options > cc1objplus-checksum.c.tmp && \
+ $(SHELL) $(srcdir)/../move-if-change cc1objplus-checksum.c.tmp \
+ cc1objplus-checksum.c
cc1objplus-checksum.o : cc1objplus-checksum.c $(CONFIG_H) $(SYSTEM_H)
cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS)
- $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+ +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
# Objective C++ language specific files.
objcp/objcp-lang.o : objcp/objcp-lang.c \
- $(CXX_TREE_H) $(TM_H) toplev.h debug.h langhooks.h objc/objc-act.h \
- $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objcp.h \
- $(DIAGNOSTIC_H) cp/cp-objcp-common.h $(GIMPLE_H) $(EXCEPT_H)
+ $(START_HDRS) \
+ $(GGC_H) \
+ $(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) $(C_TREE_H) \
- toplev.h $(GGC_H) $(C_PRAGMA_H) input.h $(FLAGS_H) output.h \
- objc/objc-act.h objcp/objcp-decl.h $(GIMPLE_H) $(EXPR_H) $(TARGET_H)
+ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
+ objc/objc-act.h c-family/c-objc.h \
+ objcp/objcp-decl.h
+
+objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
+ gt-objc-objc-runtime-shared-support.h \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ objc/objc-encoding.h \
+ objc/objc-next-metadata-tags.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c \
+ gt-objc-objc-gnu-runtime-abi-01.h \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ toplev.h \
+ objc/objc-encoding.h \
+ objc/objc-runtime-hooks.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c \
+ gt-objc-objc-next-runtime-abi-01.h \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ $(TARGET_H) output.h \
+ objc/objc-encoding.h \
+ objc/objc-next-metadata-tags.h \
+ objc/objc-runtime-hooks.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c \
+ gt-objc-objc-next-runtime-abi-02.h \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ $(TARGET_H) \
+ objc/objc-encoding.h \
+ objc/objc-next-metadata-tags.h \
+ objc/objc-runtime-hooks.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.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-decl.h $(LANGHOOKS_DEF_H) $(HASHTAB_H) gt-objc-objc-act.h \
- $(GIMPLE_H)
+ gt-objc-objc-act.h \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_H) $(FLAGS_H) input.h \
+ toplev.h $(FUNCTION_H) output.h debug.h $(LANGHOOKS_DEF_H) \
+ $(HASHTAB_H) $(GIMPLE_H) \
+ $(RTL_H) $(EXPR_H) $(TARGET_H) \
+ objcp/objcp-decl.h \
+ objc/objc-encoding.h \
+ objc/objc-map.h \
+ objc/objc-runtime-hooks.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-encoding.o : objc/objc-encoding.c \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ $(OBSTACK_H) \
+ objc/objc-encoding.h \
+ objc/objc-runtime-shared-support.h \
+ objcp/objcp-decl.h
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
+ $(OUTPUT_OPTION)
+
+objcp/objc-map.o : objc/objc-map.c \
+ $(START_HDRS) \
+ $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
+ $(OBSTACK_H) \
+ objc/objc-map.h
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
$(OUTPUT_OPTION)
@@ -112,7 +195,7 @@ obj-c++.man:
obj-c++.install-plugin:
obj-c++.tags: force
- cd $(srcdir)/objcp; etags -o TAGS.sub *.y *.c *.h; \
+ cd $(srcdir)/objcp; etags -o TAGS.sub *.c *.h; \
etags --include TAGS.sub --include ../TAGS.sub
lang_checks += check-obj-c++
Index: src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in
diff -u src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/config-lang.in Thu May 22 16:45:04 2014
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU Objective-C++.
-# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005-2013 Free Software Foundation, Inc.
# Contributed by Ziemowit Laski <[email protected]>
#This file is part of GCC.
@@ -37,4 +37,14 @@ 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-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.h \$(srcdir)/c-pragma.c \$(srcdir)/cp/cp-objcp-common.c"
+# When you add to this gtfiles list a header which comes from a
+# directory belonging to another language (ie, C++ or ObjC), you need
+# to also edit gengtype.c adding a special rule for the header to
+# avoid having the GC stuff from that header being added to gtype-cp.h
+# or gtype-objc.h.
+
+# This list is separated in two parts: the first one is identical to
+# the C++ one, the second one contains our ObjC++ additions.
+gtfiles="\$(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.h \$(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-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \
+\$(srcdir)/objc/objc-map.h \$(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)/c-family/c-cppbuiltin.c"
+
Index: src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h
diff -u src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/lang-specs.h Thu May 22 16:45:04 2014
@@ -1,5 +1,5 @@
/* Definitions for specs for Objective-C++.
- Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <[email protected]>
This file is part of GCC.
@@ -32,29 +32,30 @@ along with GCC; see the file COPYING3.
{"@objective-c++-header",
"%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
%{!E:%{!M:%{!MM:\
- %{save-temps|no-integrated-cpp:cc1objplus -E\
- %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
- cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
- %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %{save-temps*|no-integrated-cpp:cc1objplus -E\
+ %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
+ cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+ %(cc1_options) %2\
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{"@objective-c++",
"%{E|M|MM:cc1objplus -E %(cpp_options) %2 %(cpp_debug_options)}\
%{!E:%{!M:%{!MM:\
- %{save-temps|no-integrated-cpp:cc1objplus -E\
- %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
- cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
- %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %{save-temps*|no-integrated-cpp:cc1objplus -E\
+ %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
+ cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+ %(cc1_options) %2\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{".mii", "@objective-c++-cpp-output", 0, 0, 0},
{"@objective-c++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
+ cc1objplus -fpreprocessed %i %(cc1_options) %2\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objc++-cpp-output",
- "%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
+ "%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\
+ %{!M:%{!MM:%{!E:\
+ cc1objplus -fpreprocessed %i %(cc1_options) %2\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
Index: src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c
diff -u src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.c Thu May 22 16:45:04 2014
@@ -1,6 +1,6 @@
/* Process the ObjC-specific declarations and variables for
the Objective-C++ compiler.
- Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <[email protected]>
This file is part of GCC.
@@ -24,20 +24,10 @@ along with GCC; see the file COPYING3.
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
-#include "rtl.h"
-#include "expr.h"
#include "cp-tree.h"
-#include "c-common.h"
-#include "flags.h"
-#include "input.h"
-#include "except.h"
-#include "output.h"
-#include "toplev.h"
-#include "cpplib.h"
-#include "debug.h"
-#include "target.h"
-#include "varray.h"
+#include "hashtab.h"
+#include "c-family/c-objc.h"
#include "objc-act.h"
#include "objcp-decl.h"
@@ -59,7 +49,7 @@ objcp_start_struct (location_t loc ATTRI
CLASSTYPE_DECLARED_CLASS (s) = 0; /* this is a 'struct', not a 'class'. */
xref_basetypes (s, NULL_TREE); /* no base classes here! */
- return begin_class_definition (s, NULL_TREE);
+ return begin_class_definition (s);
}
tree
@@ -75,6 +65,13 @@ objcp_finish_struct (location_t loc ATTR
finish_member_declaration (field);
}
t = finish_struct (t, attributes);
+
+ /* If we are inside an @interface and are generating the list of
+ ivars, we need to check for duplicate ivars.
+ */
+ if (fieldlist)
+ objc_detect_field_duplicates (true);
+
pop_lang_context ();
return t;
Index: src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h
diff -u src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/objcp-decl.h Thu May 22 16:45:04 2014
@@ -1,6 +1,6 @@
/* Process the ObjC-specific declarations and variables for
the Objective-C++ compiler.
- Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <[email protected]>
This file is part of GCC.
@@ -73,8 +73,8 @@ extern tree objcp_end_compound_stmt (tre
#undef ALLOC_OBJC_TYPE_LANG_SPECIFIC
#define ALLOC_OBJC_TYPE_LANG_SPECIFIC(NODE) \
do { \
- TYPE_LANG_SPECIFIC (NODE) = GGC_CNEWVAR \
- (struct lang_type, sizeof (struct lang_type_class)); \
+ TYPE_LANG_SPECIFIC (NODE) = ggc_alloc_cleared_lang_type \
+ (sizeof (struct lang_type_class)); \
TYPE_LANG_SPECIFIC (NODE)->u.c.h.is_lang_type_class = 1; \
} while (0)
Index: src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c
diff -u src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c:1.1.1.1 src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c:1.1.1.1.2.1
--- src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c:1.1.1.1 Tue Jun 21 01:22:36 2011
+++ src/external/gpl3/gcc/dist/gcc/objcp/objcp-lang.c Thu May 22 16:45:04 2014
@@ -1,5 +1,5 @@
/* Language-dependent hooks for Objective-C++.
- Copyright 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <[email protected]>
This file is part of GCC.
@@ -18,26 +18,22 @@ You should have received a copy of the G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "cp-tree.h"
-#include "c-common.h"
-#include "toplev.h"
+#include "c-family/c-common.h"
+#include "c-family/c-objc.h"
#include "objc-act.h"
#include "langhooks.h"
#include "langhooks-def.h"
-#include "diagnostic.h"
-#include "debug.h"
+#include "target.h"
#include "cp-objcp-common.h"
-#include "except.h"
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. */
@@ -46,16 +42,10 @@ static tree objcxx_eh_personality (void)
#define LANG_HOOKS_NAME "GNU Objective-C++"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT objc_init
-#undef LANG_HOOKS_DECL_PRINTABLE_NAME
-#define LANG_HOOKS_DECL_PRINTABLE_NAME objc_printable_name
#undef LANG_HOOKS_GIMPLIFY_EXPR
#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;
@@ -80,7 +70,7 @@ objcp_tsubst_copy_and_build (tree t, tre
return objc_finish_message_expr
(RECURSE (TREE_OPERAND (t, 0)),
TREE_OPERAND (t, 1), /* No need to expand the selector. */
- RECURSE (TREE_OPERAND (t, 2)));
+ RECURSE (TREE_OPERAND (t, 2)), NULL);
case CLASS_REFERENCE_EXPR:
return objc_get_class_reference
@@ -99,70 +89,10 @@ objcp_tsubst_copy_and_build (tree t, tre
static void
objcxx_init_ts (void)
{
- /* objc decls */
- tree_contains_struct[CLASS_METHOD_DECL][TS_DECL_NON_COMMON] = 1;
- tree_contains_struct[INSTANCE_METHOD_DECL][TS_DECL_NON_COMMON] = 1;
- tree_contains_struct[KEYWORD_DECL][TS_DECL_NON_COMMON] = 1;
-
- tree_contains_struct[CLASS_METHOD_DECL][TS_DECL_WITH_VIS] = 1;
- tree_contains_struct[INSTANCE_METHOD_DECL][TS_DECL_WITH_VIS] = 1;
- tree_contains_struct[KEYWORD_DECL][TS_DECL_WITH_VIS] = 1;
-
- tree_contains_struct[CLASS_METHOD_DECL][TS_DECL_WRTL] = 1;
- tree_contains_struct[INSTANCE_METHOD_DECL][TS_DECL_WRTL] = 1;
- tree_contains_struct[KEYWORD_DECL][TS_DECL_WRTL] = 1;
-
- tree_contains_struct[CLASS_METHOD_DECL][TS_DECL_MINIMAL] = 1;
- tree_contains_struct[INSTANCE_METHOD_DECL][TS_DECL_MINIMAL] = 1;
- tree_contains_struct[KEYWORD_DECL][TS_DECL_MINIMAL] = 1;
-
- tree_contains_struct[CLASS_METHOD_DECL][TS_DECL_COMMON] = 1;
- tree_contains_struct[INSTANCE_METHOD_DECL][TS_DECL_COMMON] = 1;
- tree_contains_struct[KEYWORD_DECL][TS_DECL_COMMON] = 1;
-
- /* C++ decls */
- tree_contains_struct[NAMESPACE_DECL][TS_DECL_NON_COMMON] = 1;
- tree_contains_struct[USING_DECL][TS_DECL_NON_COMMON] = 1;
- tree_contains_struct[TEMPLATE_DECL][TS_DECL_NON_COMMON] = 1;
-
- tree_contains_struct[NAMESPACE_DECL][TS_DECL_WITH_VIS] = 1;
- tree_contains_struct[USING_DECL][TS_DECL_WITH_VIS] = 1;
- tree_contains_struct[TEMPLATE_DECL][TS_DECL_WITH_VIS] = 1;
-
- tree_contains_struct[NAMESPACE_DECL][TS_DECL_WRTL] = 1;
- tree_contains_struct[USING_DECL][TS_DECL_WRTL] = 1;
- tree_contains_struct[TEMPLATE_DECL][TS_DECL_WRTL] = 1;
-
- tree_contains_struct[NAMESPACE_DECL][TS_DECL_COMMON] = 1;
- tree_contains_struct[USING_DECL][TS_DECL_COMMON] = 1;
- tree_contains_struct[TEMPLATE_DECL][TS_DECL_COMMON] = 1;
-
- tree_contains_struct[NAMESPACE_DECL][TS_DECL_MINIMAL] = 1;
- tree_contains_struct[USING_DECL][TS_DECL_MINIMAL] = 1;
- tree_contains_struct[TEMPLATE_DECL][TS_DECL_MINIMAL] = 1;
+ objc_common_init_ts ();
+ cp_common_init_ts ();
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 (USING_SJLJ_EXCEPTIONS
- ? "__gxx_personality_sj0"
- : "__gxx_personality_v0");
-
- return objcp_eh_personality_decl;
-}
-
-
-void
-finish_file (void)
-{
- objc_finish_file ();
-}
-
#include "gtype-objcp.h"