summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/gthr-posix.c5
-rw-r--r--gcc/gthr-posix.h8
3 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d8ed672acb4..2cbddc7f039 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ PR target/28307
+ * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
+ (__gthrw_pragma): Provide default definition.
+ (__gthrw2): Use it.
+ * gthr-posix.c (__gthrw_pragma): Define.
+
2007-07-03 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
diff --git a/gcc/gthr-posix.c b/gcc/gthr-posix.c
index a8922c0c16b..e2d731ae407 100644
--- a/gcc/gthr-posix.c
+++ b/gcc/gthr-posix.c
@@ -1,6 +1,6 @@
/* POSIX threads dummy routines for systems without weak definitions. */
/* Compile this one with gcc. */
-/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
This file is part of GCC.
@@ -28,6 +28,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "tconfig.h"
#include "tm.h"
+# define __gthrw_pragma(pragma) _Pragma (#pragma)
/* Define so we provide weak definitions of functions used by libobjc only. */
#define _LIBOBJC_WEAK
#include "gthr.h"
@@ -75,7 +76,7 @@ pthread_create (pthread_t *thread ATTRIBUTE_UNUSED,
}
int
-pthread_cancel(pthread_t thread ATTRIBUTE_UNUSED)
+pthread_cancel (pthread_t thread ATTRIBUTE_UNUSED)
{
return 0;
}
diff --git a/gcc/gthr-posix.h b/gcc/gthr-posix.h
index 837bc1a9820..47d38a320ba 100644
--- a/gcc/gthr-posix.h
+++ b/gcc/gthr-posix.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GCC.
@@ -59,8 +59,12 @@ typedef pthread_mutex_t __gthread_recursive_mutex_t;
#endif
#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
+# ifndef __gthrw_pragma
+# define __gthrw_pragma(pragma)
+# endif
# define __gthrw2(name,name2,type) \
- static __typeof(type) name __attribute__ ((__weakref__(#name2)));
+ static __typeof(type) name __attribute__ ((__weakref__(#name2))); \
+ __gthrw_pragma(weak type)
# define __gthrw_(name) __gthrw_ ## name
#else
# define __gthrw2(name,name2,type)