This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] mutex vs. cstdatomic


> Most likely I'm saying the obvious, but certainly the above should be
> further investigated: if the facilities in <cstdatomic> explicitly
> require the facilities in <mutex>, then the latter should be included
> explicitely by the former, otherwise, if it's because of an
> implementation detail, that is <mutex> includes something that
> <cstdatomic> also happen to need and at the moment doesn't include by
> mistake, that should be also fixed ASAP.

Here's the fix, in at revision 142742.

-benjamin

Tested x86_64/linux
tested x86/darwin9.5.0
2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* src/atomic.cc: Revert last change.
	* include/bits/atomic_2.h: Move cassert include to...
	* include/c_global/cstdatomic: ...here.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Adjust line numbers.

Index: src/atomic.cc
===================================================================
--- src/atomic.cc	(revision 142740)
+++ src/atomic.cc	(working copy)
@@ -29,8 +29,8 @@
 // the GNU General Public License.
 
 #include "gstdint.h"
+#include <cstdatomic>
 #include <mutex>
-#include <cstdatomic>
 
 #define LOGSIZE 4
 
Index: include/bits/atomic_2.h
===================================================================
--- include/bits/atomic_2.h	(revision 142740)
+++ include/bits/atomic_2.h	(working copy)
@@ -38,8 +38,6 @@
 
 #pragma GCC system_header
 
-#include <cassert> // XXX static_assert vs. constant-expression PR38502
-
 // _GLIBCXX_BEGIN_NAMESPACE(std)
 
 // 2 == __atomic2 == Always lock-free
Index: include/c_global/cstdatomic
===================================================================
--- include/c_global/cstdatomic	(revision 142740)
+++ include/c_global/cstdatomic	(working copy)
@@ -52,6 +52,7 @@
 
 #include <stdatomic.h>
 #include <cstddef>
+#include <cassert> // XXX static_assert vs. constant-expression PR38502
 
 _GLIBCXX_BEGIN_NAMESPACE(std)
 
Index: testsuite/29_atomics/atomic/cons/assign_neg.cc
===================================================================
--- testsuite/29_atomics/atomic/cons/assign_neg.cc	(revision 142740)
+++ testsuite/29_atomics/atomic/cons/assign_neg.cc	(working copy)
@@ -39,19 +39,19 @@
 }
 
 // { dg-error "used here" "" { target *-*-* } 510 }
-// { dg-error "deleted function" "" { target *-*-* } 257 }
-// { dg-error "deleted function" "" { target *-*-* } 275 } 
-// { dg-error "deleted function" "" { target *-*-* } 293 }
-// { dg-error "deleted function" "" { target *-*-* } 311 }
-// { dg-error "deleted function" "" { target *-*-* } 329 }
-// { dg-error "deleted function" "" { target *-*-* } 347 }
-// { dg-error "deleted function" "" { target *-*-* } 365 }
-// { dg-error "deleted function" "" { target *-*-* } 383 }
-// { dg-error "deleted function" "" { target *-*-* } 401 }
-// { dg-error "deleted function" "" { target *-*-* } 419 }
-// { dg-error "deleted function" "" { target *-*-* } 437 }
-// { dg-error "deleted function" "" { target *-*-* } 455 }
-// { dg-error "deleted function" "" { target *-*-* } 473 }
-// { dg-error "deleted function" "" { target *-*-* } 491 }
-// { dg-error "deleted function" "" { target *-*-* } 239 }
+// { dg-error "deleted function" "" { target *-*-* } 240 }
+// { dg-error "deleted function" "" { target *-*-* } 258 }
+// { dg-error "deleted function" "" { target *-*-* } 276 } 
+// { dg-error "deleted function" "" { target *-*-* } 294 }
+// { dg-error "deleted function" "" { target *-*-* } 312 }
+// { dg-error "deleted function" "" { target *-*-* } 330 }
+// { dg-error "deleted function" "" { target *-*-* } 348 }
+// { dg-error "deleted function" "" { target *-*-* } 366 }
+// { dg-error "deleted function" "" { target *-*-* } 384 }
+// { dg-error "deleted function" "" { target *-*-* } 402 }
+// { dg-error "deleted function" "" { target *-*-* } 420 }
+// { dg-error "deleted function" "" { target *-*-* } 438 }
+// { dg-error "deleted function" "" { target *-*-* } 456 }
+// { dg-error "deleted function" "" { target *-*-* } 474 }
+// { dg-error "deleted function" "" { target *-*-* } 492 }
 // { dg-excess-errors "In member function" }
Index: testsuite/29_atomics/atomic/cons/copy_neg.cc
===================================================================
--- testsuite/29_atomics/atomic/cons/copy_neg.cc	(revision 142740)
+++ testsuite/29_atomics/atomic/cons/copy_neg.cc	(working copy)
@@ -39,19 +39,19 @@
 }
 
 // { dg-error "used here" "" { target *-*-* } 549 } 
-// { dg-error "deleted function" "" { target *-*-* } 238 }
-// { dg-error "deleted function" "" { target *-*-* } 256 }
-// { dg-error "deleted function" "" { target *-*-* } 274 }
-// { dg-error "deleted function" "" { target *-*-* } 292 }
-// { dg-error "deleted function" "" { target *-*-* } 310 }
-// { dg-error "deleted function" "" { target *-*-* } 328 }
-// { dg-error "deleted function" "" { target *-*-* } 346 }
-// { dg-error "deleted function" "" { target *-*-* } 364 }
-// { dg-error "deleted function" "" { target *-*-* } 382 }
-// { dg-error "deleted function" "" { target *-*-* } 400 }
-// { dg-error "deleted function" "" { target *-*-* } 418 }
-// { dg-error "deleted function" "" { target *-*-* } 436 }
-// { dg-error "deleted function" "" { target *-*-* } 454 }
-// { dg-error "deleted function" "" { target *-*-* } 472 }
-// { dg-error "deleted function" "" { target *-*-* } 490 }
+// { dg-error "deleted function" "" { target *-*-* } 239 }
+// { dg-error "deleted function" "" { target *-*-* } 257 }
+// { dg-error "deleted function" "" { target *-*-* } 275 }
+// { dg-error "deleted function" "" { target *-*-* } 293 }
+// { dg-error "deleted function" "" { target *-*-* } 311 }
+// { dg-error "deleted function" "" { target *-*-* } 329 }
+// { dg-error "deleted function" "" { target *-*-* } 347 }
+// { dg-error "deleted function" "" { target *-*-* } 365 }
+// { dg-error "deleted function" "" { target *-*-* } 383 }
+// { dg-error "deleted function" "" { target *-*-* } 401 }
+// { dg-error "deleted function" "" { target *-*-* } 419 }
+// { dg-error "deleted function" "" { target *-*-* } 437 }
+// { dg-error "deleted function" "" { target *-*-* } 455 }
+// { dg-error "deleted function" "" { target *-*-* } 473 }
+// { dg-error "deleted function" "" { target *-*-* } 491 }
 // { dg-excess-errors "In member function" }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]