Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release-src > by-pkgid > 652bfe07a0e55fe69d9313d51eeb64c0 > files > 13

gcc-5.4.0-5.mga6.src.rpm

From 4559711ecf362849c6fc2f1c1be3c7ade0555b1d Mon Sep 17 00:00:00 2001
From: gerald <gerald@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 5 Jun 2013 16:48:14 +0000
Subject: [PATCH] 	PR bootstrap/56714
 	* local_atomic (__always_inline): Always define our version.
 	(__calculate_memory_order): Mark inline.
 	(atomic_thread_fence): Ditto.
 	(atomic_signal_fence): Ditto.
 	(atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
 	(atomic_bool::atomic_flag_clear_explicit): Ditto.
 	(atomic_bool::atomic_flag_test_and_set): Ditto.
 	(atomic_bool::atomic_flag_clear): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199704 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libitm/ChangeLog    |   12 ++++++++++++
 libitm/local_atomic |   27 +++++++++++++--------------
 2 files changed, 25 insertions(+), 14 deletions(-)

#diff --git a/libitm/ChangeLog b/libitm/ChangeLog
#index 04490fd..ed9114b 100644
#--- a/libitm/ChangeLog
#+++ b/libitm/ChangeLog
#@@ -1,3 +1,15 @@
#+2013-03-31  Gerald Pfeifer  <gerald@pfeifer.com>
#+
#+	PR bootstrap/56714
#+	* local_atomic (__always_inline): Always define our version.
#+	(__calculate_memory_order): Mark inline.
#+	(atomic_thread_fence): Ditto.
#+	(atomic_signal_fence): Ditto.
#+	(atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
#+	(atomic_bool::atomic_flag_clear_explicit): Ditto.
#+	(atomic_bool::atomic_flag_test_and_set): Ditto.
#+	(atomic_bool::atomic_flag_clear): Ditto.
#+
# 2013-04-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
# 
# 	* config/s390/sjlj.S: New file.
diff --git a/libitm/local_atomic b/libitm/local_atomic
index 4cd961a..f6bbb11 100644
--- a/libitm/local_atomic
+++ b/libitm/local_atomic
@@ -41,9 +41,8 @@
 #ifndef _GLIBCXX_ATOMIC
 #define _GLIBCXX_ATOMIC 1
 
-#ifndef __always_inline
-#define __always_inline inline __attribute__((always_inline))
-#endif
+#undef  __always_inline
+#define __always_inline __attribute__((always_inline))
 
 // #pragma GCC system_header
 
@@ -75,7 +74,7 @@ namespace std // _GLIBCXX_VISIBILITY(default)
       memory_order_seq_cst
     } memory_order;
 
-  __always_inline memory_order
+  inline __always_inline memory_order
   __calculate_memory_order(memory_order __m) noexcept
   {
     const bool __cond1 = __m == memory_order_release;
@@ -85,13 +84,13 @@ namespace std // _GLIBCXX_VISIBILITY(default)
     return __mo2;
   }
 
-  __always_inline void
+  inline __always_inline void
   atomic_thread_fence(memory_order __m) noexcept
   {
     __atomic_thread_fence (__m);
   }
 
-  __always_inline void
+  inline __always_inline void
   atomic_signal_fence(memory_order __m) noexcept
   {
     __atomic_thread_fence (__m);
@@ -1545,38 +1544,38 @@ namespace std // _GLIBCXX_VISIBILITY(default)
 
 
   // Function definitions, atomic_flag operations.
-  __always_inline bool
+  inline __always_inline bool
   atomic_flag_test_and_set_explicit(atomic_flag* __a,
 				    memory_order __m) noexcept
   { return __a->test_and_set(__m); }
 
-  __always_inline bool
+  inline __always_inline bool
   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
 				    memory_order __m) noexcept
   { return __a->test_and_set(__m); }
 
-  __always_inline void
+  inline __always_inline void
   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
   { __a->clear(__m); }
 
-  __always_inline void
+  inline __always_inline void
   atomic_flag_clear_explicit(volatile atomic_flag* __a,
 			     memory_order __m) noexcept
   { __a->clear(__m); }
 
-  __always_inline bool
+  inline __always_inline bool
   atomic_flag_test_and_set(atomic_flag* __a) noexcept
   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
 
-  __always_inline bool
+  inline __always_inline bool
   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
 
-  __always_inline void
+  inline __always_inline void
   atomic_flag_clear(atomic_flag* __a) noexcept
   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
 
-  __always_inline void
+  inline __always_inline void
   atomic_flag_clear(volatile atomic_flag* __a) noexcept
   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
 
-- 
1.7.1