summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-22 13:13:55 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-22 13:13:55 +0000
commite49af22bc7fe288677ea5649fa35eef6ce3e03c4 (patch)
tree6c89dd408e36af775fa4e7cc7cf7859aa12e057a
parent661d57fa437bae9948a5456dad6c37cb458c2626 (diff)
downloadppe42-gcc-e49af22bc7fe288677ea5649fa35eef6ce3e03c4.tar.gz
ppe42-gcc-e49af22bc7fe288677ea5649fa35eef6ce3e03c4.zip
* include/ext/atomicity.h
(__exchange_and_add, __atomic_add): Mark throw (). * config/os/aix/atomicity.h * config/os/aix/atomicity.h * config/os/irix/atomicity.h * config/cpu/cris/atomicity.h * config/cpu/m68k/atomicity.h * config/cpu/hppa/atomicity.h * config/cpu/sparc/atomicity.h * config/cpu/i386/atomicity.h * config/cpu/i486/atomicity.h * config/cpu/sh/atomicity.h * config/cpu/generic/atomicity_mutex/atomicity.h * config/cpu/generic/atomicity_builtins/atomicity.h (__exchange_and_add, __atomic_add): Mark throw (). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146576 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog18
-rw-r--r--libstdc++-v3/config/cpu/cris/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/hppa/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h4
-rw-r--r--libstdc++-v3/config/cpu/m68k/atomicity.h8
-rw-r--r--libstdc++-v3/config/cpu/sh/atomicity.h8
-rw-r--r--libstdc++-v3/config/cpu/sparc/atomicity.h8
-rw-r--r--libstdc++-v3/config/os/aix/atomicity.h4
-rw-r--r--libstdc++-v3/config/os/irix/atomicity.h4
-rw-r--r--libstdc++-v3/include/ext/atomicity.h4
13 files changed, 48 insertions, 30 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index dcd313b3a21..9de49201eeb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,21 @@
+2009-04-21 Jan Hubicka <jh@suse.cz>
+
+ * include/ext/atomicity.h
+ (__exchange_and_add, __atomic_add): Mark throw ().
+ * config/os/aix/atomicity.h
+ * config/os/aix/atomicity.h
+ * config/os/irix/atomicity.h
+ * config/cpu/cris/atomicity.h
+ * config/cpu/m68k/atomicity.h
+ * config/cpu/hppa/atomicity.h
+ * config/cpu/sparc/atomicity.h
+ * config/cpu/i386/atomicity.h
+ * config/cpu/i486/atomicity.h
+ * config/cpu/sh/atomicity.h
+ * config/cpu/generic/atomicity_mutex/atomicity.h
+ * config/cpu/generic/atomicity_builtins/atomicity.h
+ (__exchange_and_add, __atomic_add): Mark throw ().
+
2009-04-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39835
diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h
index 37be3a84719..92254273e1e 100644
--- a/libstdc++-v3/config/cpu/cris/atomicity.h
+++ b/libstdc++-v3/config/cpu/cris/atomicity.h
@@ -27,7 +27,7 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
int __tmp;
_Atomic_word __result;
@@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
void
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
index 9b3b997db3c..ae69ecc7dd7 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
@@ -34,12 +34,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{ return __sync_fetch_and_add(__mem, __val); }
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __sync_fetch_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
index d8a5245c631..fe3ade84d34 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
@@ -44,7 +44,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
__gnu_cxx::__scoped_lock sentry(get_atomic_mutex());
_Atomic_word __result;
@@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index 6a167e955fe..cf1ceb05ac8 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -43,7 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
int
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word result;
int tmp;
@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{
int tmp;
volatile int& lock = _Atomicity_lock<0>::_S_atomicity_lock;
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index de2b329e878..8f7619307fe 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
register _Atomic_word __result, __tmp = 1;
@@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index 42f9a8fecff..d9e68f4d8ca 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -28,7 +28,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
register _Atomic_word __result;
__asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
@@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{
__asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
: "=m" (*__mem) : "ir" (__val), "m" (*__mem));
diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h
index e6cdbeebc27..5b3692eecef 100644
--- a/libstdc++-v3/config/cpu/m68k/atomicity.h
+++ b/libstdc++-v3/config/cpu/m68k/atomicity.h
@@ -32,7 +32,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// These variants support compare-and-swap.
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
register _Atomic_word __result = *__mem;
register _Atomic_word __temp;
@@ -50,7 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// Disable interrupts, which we can do only from supervisor mode.
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __result;
short __level, __tmpsr;
@@ -79,7 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __result;
@@ -119,7 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{
// Careful: using add.l with a memory destination is not
// architecturally guaranteed to be atomic.
diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h
index acd5e87d8af..251d49ff2b9 100644
--- a/libstdc++-v3/config/cpu/sh/atomicity.h
+++ b/libstdc++-v3/config/cpu/sh/atomicity.h
@@ -33,7 +33,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add (volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add (volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __result;
@@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add (volatile _Atomic_word* __mem, int __val)
+ __atomic_add (volatile _Atomic_word* __mem, int __val) throw ()
{
asm("0:\n"
"\tmovli.l\t@%1,r0\n"
@@ -84,7 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
__gnu_cxx::__scoped_lock sentry(atomic_mutex);
_Atomic_word __result;
@@ -95,7 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h
index be3b07f3f7c..1ead48d2788 100644
--- a/libstdc++-v3/config/cpu/sparc/atomicity.h
+++ b/libstdc++-v3/config/cpu/sparc/atomicity.h
@@ -30,7 +30,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#ifdef __arch64__
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __tmp1, __tmp2;
_Atomic_word __val_extended = __val;
@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __tmp1, __tmp2;
_Atomic_word __val_extended = __val;
@@ -78,7 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __result, __tmp;
@@ -100,7 +100,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{
_Atomic_word __tmp;
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index 03718e20b18..38622b12815 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -42,12 +42,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add (volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add (volatile _Atomic_word* __mem, int __val) throw ()
{ return ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
void
__attribute__ ((__unused__))
- __atomic_add (volatile _Atomic_word* __mem, int __val)
+ __atomic_add (volatile _Atomic_word* __mem, int __val) throw ()
{ (void) ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/config/os/irix/atomicity.h b/libstdc++-v3/config/os/irix/atomicity.h
index 4771ef4a57f..9048fb2be67 100644
--- a/libstdc++-v3/config/os/irix/atomicity.h
+++ b/libstdc++-v3/config/os/irix/atomicity.h
@@ -28,11 +28,11 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Atomic_word
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+ __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
{ return (_Atomic_word) test_then_add((unsigned long*) const_cast<_Atomic_word*>(__mem), __val); }
void
- __atomic_add(volatile _Atomic_word* __mem, int __val)
+ __atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h
index bb891e8afe6..5cb419ecf59 100644
--- a/libstdc++-v3/include/ext/atomicity.h
+++ b/libstdc++-v3/include/ext/atomicity.h
@@ -51,11 +51,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#else
_Atomic_word
__attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word*, int);
+ __exchange_and_add(volatile _Atomic_word*, int) throw ();
void
__attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word*, int);
+ __atomic_add(volatile _Atomic_word*, int) throw ();
#endif
static inline _Atomic_word
OpenPOWER on IntegriCloud