summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-25 23:28:14 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-25 23:28:14 +0000
commit246e177f0e6c026ff357eb6ed9e8459943b15fc4 (patch)
treea6304b6bef398a9f05e637132c9238757a430a44
parent670e8f33946ead3e07d809d1d3e27579f60bfd25 (diff)
downloadgcc-246e177f0e6c026ff357eb6ed9e8459943b15fc4.tar.gz
2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/29_atomics/atomic_flag/cons/default.cc: Avoid -Wall warnings. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Likewise. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Likewise. * testsuite/29_atomics/headers/stdatomic.h/types.c: Likewise. * testsuite/util/testsuite_common_types.h (struct assignable, struct default_constructible, struct copy_constructible, struct explicit_value_constructible): Use a tad of simulated concept checking techniques to avoid spurious warnings. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error markers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137127 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog16
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc3
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c13
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_common_types.h53
8 files changed, 74 insertions, 25 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 093c030489f..78c000ffb10 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,21 @@
2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
+ * testsuite/29_atomics/atomic_flag/cons/default.cc: Avoid -Wall
+ warnings.
+ * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Likewise.
+ * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc:
+ Likewise.
+ * testsuite/29_atomics/headers/stdatomic.h/types.c: Likewise.
+ * testsuite/util/testsuite_common_types.h (struct assignable,
+ struct default_constructible, struct copy_constructible,
+ struct explicit_value_constructible): Use a tad of simulated
+ concept checking techniques to avoid spurious warnings.
+ * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
+ markers.
+ * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
+
+2008-06-25 Paolo Carlini <paolo.carlini@oracle.com>
+
* include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
any_of, none_of): Add in C++0x, per N2666.
* include/bits/algorithmfwd.h: Update.
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
index a22a558f26e..2ad480a0fa7 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc
@@ -38,8 +38,8 @@ int main()
return 0;
}
-// { dg-error "within this context" "" { target *-*-* } 309 }
-// { dg-error "is private" "" { target *-*-* } 1750 }
+// { dg-error "within this context" "" { target *-*-* } 310 }
+// { dg-error "is private" "" { target *-*-* } 1750 }
// { dg-error "is private" "" { target *-*-* } 1782 }
// { dg-error "is private" "" { target *-*-* } 1799 }
// { dg-error "is private" "" { target *-*-* } 1816 }
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
index 49125182ebb..a78177eee56 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc
@@ -38,9 +38,9 @@ int main()
return 0;
}
-// { dg-error "within this context" "" { target *-*-* } 332 }
-// { dg-error "is private" "" { target *-*-* } 1749 }
-// { dg-error "is private" "" { target *-*-* } 1781 }
+// { dg-error "within this context" "" { target *-*-* } 349 }
+// { dg-error "is private" "" { target *-*-* } 1749 }
+// { dg-error "is private" "" { target *-*-* } 1781 }
// { dg-error "is private" "" { target *-*-* } 1798 }
// { dg-error "is private" "" { target *-*-* } 1814 }
// { dg-error "is private" "" { target *-*-* } 1831 }
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
index 151d85fc050..e7a046f89b6 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
@@ -33,6 +33,6 @@
int main()
{
// Only safe usage.
- std::atomic_flag guard = ATOMIC_FLAG_INIT;
+ std::atomic_flag guard __attribute__((unused)) = ATOMIC_FLAG_INIT;
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
index b4fa3a755b2..591a3f295c7 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc
@@ -32,6 +32,6 @@
int main()
{
// Default constructor.
- std::atomic_flag a;
+ std::atomic_flag a __attribute__((unused));
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc b/libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc
index 31b32c13813..9a3ab5e636f 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc
@@ -76,5 +76,6 @@ void test01()
using std::atomic_address;
- &std::atomic_global_fence_compatibility;
+ const std::atomic_flag* p __attribute__((unused))
+ = &std::atomic_global_fence_compatibility;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c
index 8e9cfd56e01..88bc740c3d7 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c
+++ b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c
@@ -24,11 +24,11 @@
void test01()
{
typedef memory_order t_01;
- memory_order t_02 = memory_order_relaxed;
- memory_order t_03 = memory_order_acquire;
- memory_order t_04 = memory_order_release;
- memory_order t_05 = memory_order_acq_rel;
- memory_order t_06 = memory_order_seq_cst;
+ memory_order t_02 __attribute__((unused)) = memory_order_relaxed;
+ memory_order t_03 __attribute__((unused)) = memory_order_acquire;
+ memory_order t_04 __attribute__((unused)) = memory_order_release;
+ memory_order t_05 __attribute__((unused)) = memory_order_acq_rel;
+ memory_order t_06 __attribute__((unused)) = memory_order_seq_cst;
typedef atomic_flag t_07;
@@ -76,5 +76,6 @@ void test01()
typedef atomic_address t_46;
- &atomic_global_fence_compatibility;
+ const atomic_flag* p __attribute__((unused))
+ = &atomic_global_fence_compatibility;
}
diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h
index 35bd907d8da..a746d787e7c 100644
--- a/libstdc++-v3/testsuite/util/testsuite_common_types.h
+++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h
@@ -300,36 +300,59 @@ namespace __gnu_test
// Generator to test assignment operator.
struct assignable
{
- template<typename _T>
+ template<typename _Tp>
void
operator()()
{
- _T v1;
- _T v2;
- v1 = v2;
+ struct _Concept
+ {
+ void __constraint()
+ { __v1 = __v2; }
+
+ _Tp __v1;
+ _Tp __v2;
+ };
+
+ void (_Concept::*__x)() __attribute__((unused))
+ = &_Concept::__constraint;
}
};
// Generator to test default constructor.
struct default_constructible
{
- template<typename _T>
+ template<typename _Tp>
void
operator()()
{
- _T v;
+ struct _Concept
+ {
+ void __constraint()
+ { _Tp __v; }
+ };
+
+ void (_Concept::*__x)() __attribute__((unused))
+ = &_Concept::__constraint;
}
};
// Generator to test copy constructor.
struct copy_constructible
{
- template<typename _T>
+ template<typename _Tp>
void
operator()()
{
- _T v1;
- _T v2(v1);
+ struct _Concept
+ {
+ void __constraint()
+ { _Tp __v2(__v1); }
+
+ _Tp __v1;
+ };
+
+ void (_Concept::*__x)() __attribute__((unused))
+ = &_Concept::__constraint;
}
};
@@ -340,8 +363,16 @@ namespace __gnu_test
void
operator()()
{
- _Tvalue a;
- _Ttype v(a);
+ struct _Concept
+ {
+ void __constraint()
+ { _Ttype __v(__a); }
+
+ _Tvalue __a;
+ };
+
+ void (_Concept::*__x)() __attribute__((unused))
+ = &_Concept::__constraint;
}
};