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"

Reply via email to