From 78f7fe688e92b7469a743d4e1f291d1fac3ad88b Mon Sep 17 00:00:00 2001
From: zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 28 Jun 2004 17:52:45 +0000
Subject: [PATCH] libiberty: 	* cp-demangle.h: Declare
 cplus_demangle_operators, 	cplus_demangle_builtin_types,
 cplus_demangle_mangled_name, and 	cplus_demangle_type as static if
 IN_GLIBCPP_V3. libobjc: 	* encoding.c: Rename target_flags with a
 #define to avoid 	conflict with a prior declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83800 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libiberty/ChangeLog     |  8 +++++-
 libiberty/cp-demangle.h | 20 ++++++++++++---
 libobjc/ChangeLog       | 57 ++++++++++++++++++++++-------------------
 libobjc/encoding.c      |  7 +++--
 4 files changed, 59 insertions(+), 33 deletions(-)

diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 96b111af60d9..6458c2afe624 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-28  Zack Weinberg  <zack@codesourcery.com>
+
+	* cp-demangle.h: Declare cplus_demangle_operators,
+	cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
+	cplus_demangle_type as static if IN_GLIBCPP_V3.
+
 2004-06-28  Ian Lance Taylor  <ian@wasabisystems.com>
 
 	PR other/16240
@@ -604,7 +610,7 @@
 
 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
 
-        * cp-demangle.c: Clarify what package(s) this is part of.
+	* cp-demangle.c: Clarify what package(s) this is part of.
 
 2003-07-05  Danny Smith  <dannysmith@users.sourceforge.net>
 
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
index eea086862d69..02e74ec87353 100644
--- a/libiberty/cp-demangle.h
+++ b/libiberty/cp-demangle.h
@@ -131,19 +131,31 @@ struct d_info
 
 /* Functions and arrays in cp-demangle.c which are referenced by
    functions in cp-demint.c.  */
+#ifdef IN_GLIBCPP_V3
+#define CP_STATIC_IF_GLIBCPP_V3 static
+#else
+#define CP_STATIC_IF_GLIBCPP_V3 extern
+#endif
 
-extern const struct demangle_operator_info cplus_demangle_operators[];
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_operator_info cplus_demangle_operators[];
 
 #define D_BUILTIN_TYPE_COUNT (26)
 
-extern const struct demangle_builtin_type_info
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_builtin_type_info
 cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT];
 
-extern struct demangle_component *
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
 cplus_demangle_mangled_name PARAMS ((struct d_info *, int));
 
-extern struct demangle_component *
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
 cplus_demangle_type PARAMS ((struct d_info *));
 
 extern void
 cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *));
+
+/* cp-demangle.c needs to define this a little differently */
+#undef CP_STATIC_IF_GLIBCPP_V3
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 3e8c9564d14a..b311888a3550 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,7 +1,12 @@
+2004-06-28  Zack Weinberg  <zack@codesourcery.com>
+
+	* encoding.c: Rename target_flags with a #define to avoid
+	conflict with a prior declaration.
+
 2004-06-24  Andrew Pinski  <apinski@apple.com>
 
 	* objc/encoding.h: Wrap the functions with extern "C" for C++
-	mode. 
+	mode.
 	* objc/hash.h: Likewise.
 	* objc/objc-api.h: Likewise.
 	* objc/objc-list.h: Likewise.
@@ -18,10 +23,10 @@
 
 2004-06-20  Alexander Malmberg  <alexander@malmberg.org>
 
-        * Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
-        (exception_gc.lo): New.
-        (OBJS_GC): Add exception_gc.lo.
-	
+	* Makefile.in (exception.lo): Remove $(OBJC_GCFLAGS).
+	(exception_gc.lo): New.
+	(OBJS_GC): Add exception_gc.lo.
+
 2004-06-17  Richard Henderson  <rth@redhat.com>
 
 	* exception.c: New file.
@@ -74,30 +79,30 @@
 
 	Merge from the libobjc-branch
 	2004-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
-	
+
 		* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
-	
+
 	2004-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
-	
+
 		* Makefile.in (OBJC_H): Add objc-deps.h.
-	
+
 	2004-01-27  Nicola Pero  <n.pero@mi.flashnet.it>
-	
+
 		* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
 		([-hash], [-isEqual:]): New methods.
-	
+
 	2004-01-27  Richard Frith-Macdonald <rfm@gnu.org>
-	
+
 		* sarray.c (sarray_free): Add a better comment.
-	
+
 	2004-01-27  Adam Fedor  <fedor@gnu.org>
-	
+
 		* hash.c (hash_add): Cast cachep to int.
 		* selector.c (__sel_register_typed_name): Cast
 		soffset_decode to int.
-	
+
 	2004-01-27  Alexander Malmberg  <alexander@malmberg.org>
-	
+
 		* selector.c: Rename register_selectors_from_list to
 		__objc_register_selectors_from_list. Update caller.
 		(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
@@ -109,30 +114,30 @@
 		* sendmsg.c (class_add_method_list): Use
 		__objc_register_selectors_from_list.
 		* objc/runtime.h: Add __objc_register_selectors_from_list.
-	
+
 	2004-01-25  Adam Fedor  <fedor@gnu.org>
-	            Nicola Pero  <n.pero@mi.flashnet.it>
-	            Andrew Pinski  <pinskia@physics.uc.edu>
-	
+		    Nicola Pero  <n.pero@mi.flashnet.it>
+		    Andrew Pinski  <pinskia@physics.uc.edu>
+
 		* objc/objc-decls.h: New file.
 		* objc/objc-api.h (_objc_lookup_class): Mark as export.
 		(_objc_load_callback): Likewise.
 		(_objc_object_alloc): Likewise.
 		(_objc_object_copy): Likewise.
 		(_objc_object_dispose): Likewise.
-	
+
 	2004-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
-	
+
 		* archive.c: s/__inline__/inline
-		* sendmsg.c: Likewise. 
-	
+		* sendmsg.c: Likewise.
+
 		* encoding.c: Remove FIXME about the warning
 		about unused variable.
 		* sendmsg.c: Add a FIXME comment saying that
 		this should be using libffi.
-	
+
 		* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
-	
+
 
 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
 
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 248ab10bd9a6..dba203204b60 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -86,8 +86,11 @@ Boston, MA 02111-1307, USA.  */
 #define STRUCTURE_SIZE_BOUNDARY (BITS_PER_UNIT * sizeof (struct{char a;}))
 
 /* Some ROUND_TYPE_ALIGN macros use TARGET_foo, and consequently
-   target_flags.  Define a dummy entry here to so we don't die.  */
-static int __attribute__ ((__unused__)) target_flags = 0;
+   target_flags.  Define a dummy entry here to so we don't die.
+   We have to rename it because target_flags may already have been
+   declared extern.  */
+#define target_flags not_target_flags
+static int __attribute__ ((__unused__)) not_target_flags = 0;
 
 
 /*  FIXME: while this file has no business including tm.h, this
-- 
GitLab