Message ID | 20161013165542.GA15533@redhat.com |
---|---|
State | New |
Headers | show |
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h index e8820a1..422e3b5 100644 --- a/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/libstdc++-v3/include/bits/shared_ptr_base.h @@ -49,7 +49,10 @@ #ifndef _SHARED_PTR_BASE_H #define _SHARED_PTR_BASE_H 1 -#include <typeinfo> +#include <functional> +#if __cpp_rtti +# include <typeinfo> +#endif #include <bits/allocated_ptr.h> #include <ext/aligned_buffer.h> diff --git a/libstdc++-v3/include/experimental/array b/libstdc++-v3/include/experimental/array index 31a066b..34d75cc 100644 --- a/libstdc++-v3/include/experimental/array +++ b/libstdc++-v3/include/experimental/array @@ -36,7 +36,6 @@ #else #include <array> -#include <functional> #include <experimental/type_traits> namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory index 885d11c..81def24 100644 --- a/libstdc++-v3/include/experimental/memory +++ b/libstdc++-v3/include/experimental/memory @@ -42,8 +42,8 @@ #include <memory> #include <type_traits> #include <utility> -#include <functional> #include <experimental/bits/shared_ptr.h> +#include <bits/functional_hash.h> namespace std _GLIBCXX_VISIBILITY(default) { diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const index e1fb4e4..5f32111 100644 --- a/libstdc++-v3/include/experimental/propagate_const +++ b/libstdc++-v3/include/experimental/propagate_const @@ -36,7 +36,9 @@ #else #include <type_traits> -#include <functional> +#include <bits/functional_hash.h> +#include <bits/move.h> +#include <bits/stl_function.h> #include <experimental/bits/lfts_config.h> namespace std _GLIBCXX_VISIBILITY(default) diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple index dc158e8..e83a0ed 100644 --- a/libstdc++-v3/include/experimental/tuple +++ b/libstdc++-v3/include/experimental/tuple @@ -36,7 +36,6 @@ #else #include <tuple> -#include <functional> #include <bits/invoke.h> #include <experimental/bits/lfts_config.h> diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index fffbdbb..31a21f9 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -40,6 +40,7 @@ #include <condition_variable> #include <system_error> #include <atomic> +#include <functional> #include <bits/atomic_futex.h> #include <bits/functexcept.h> #include <bits/invoke.h> diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory index beee91a..0f6d8bc 100644 --- a/libstdc++-v3/include/std/memory +++ b/libstdc++-v3/include/std/memory @@ -76,7 +76,6 @@ # include <bits/stl_function.h> // std::less # include <bits/uses_allocator.h> # include <type_traits> -# include <functional> # include <debug/debug.h> # include <bits/unique_ptr.h> # include <bits/shared_ptr.h> diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index e90006f..0e1bc7f 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -39,13 +39,15 @@ #include <chrono> #include <exception> #include <type_traits> -#include <functional> #include <system_error> #include <bits/std_mutex.h> #if ! _GTHREAD_USE_MUTEX_TIMEDLOCK # include <condition_variable> # include <thread> #endif +#ifndef _GLIBCXX_HAVE_TLS +# include <functional> +#endif #ifdef _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc index 5014898..e78093f 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc @@ -28,6 +28,7 @@ #include <cstdlib> #include <thread> #include <atomic> +#include <functional> #include <testsuite_hooks.h> #ifdef _GLIBCXX_HAVE_UNISTD_H diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc index eaa72c4..96a5cf8 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc @@ -28,6 +28,7 @@ #include <cstdlib> #include <thread> #include <atomic> +#include <functional> #include <testsuite_hooks.h> #ifdef _GLIBCXX_HAVE_UNISTD_H diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc index a86e61a..a847767 100644 --- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc +++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc @@ -21,6 +21,7 @@ #include <testsuite_hooks.h> #include <string> #include <array> +#include <vector> #include <sstream> int del_count = 0; diff --git a/libstdc++-v3/testsuite/30_threads/call_once/60497.cc b/libstdc++-v3/testsuite/30_threads/call_once/60497.cc index 43dc917..a9e6449 100644 --- a/libstdc++-v3/testsuite/30_threads/call_once/60497.cc +++ b/libstdc++-v3/testsuite/30_threads/call_once/60497.cc @@ -25,6 +25,7 @@ #include <mutex> #include <memory> +#include <functional> struct A; template<typename T> struct B { T t; }; diff --git a/libstdc++-v3/testsuite/30_threads/lock/2.cc b/libstdc++-v3/testsuite/30_threads/lock/2.cc index d3692a0..c174420 100644 --- a/libstdc++-v3/testsuite/30_threads/lock/2.cc +++ b/libstdc++-v3/testsuite/30_threads/lock/2.cc @@ -24,6 +24,7 @@ #include <mutex> #include <thread> +#include <functional> #include <testsuite_hooks.h> void locker(std::mutex& m1, std::mutex& m2, std::mutex& m3) diff --git a/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc b/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc index 9b5417c..db04b05 100644 --- a/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc +++ b/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc @@ -24,6 +24,7 @@ #include <pthread.h> #include <thread> #include <atomic> +#include <functional> void f(std::atomic<bool>& started) { diff --git a/libstdc++-v3/testsuite/experimental/algorithm/sample.cc b/libstdc++-v3/testsuite/experimental/algorithm/sample.cc index 0d84e9d..16e6a74 100644 --- a/libstdc++-v3/testsuite/experimental/algorithm/sample.cc +++ b/libstdc++-v3/testsuite/experimental/algorithm/sample.cc @@ -23,6 +23,7 @@ #include <forward_list> #include <vector> #include <random> +#include <algorithm> #include <testsuite_hooks.h> std::mt19937 rng; diff --git a/libstdc++-v3/testsuite/experimental/array/make_array.cc b/libstdc++-v3/testsuite/experimental/array/make_array.cc index 56611df..e91a5d8 100644 --- a/libstdc++-v3/testsuite/experimental/array/make_array.cc +++ b/libstdc++-v3/testsuite/experimental/array/make_array.cc @@ -18,6 +18,7 @@ // <http://www.gnu.org/licenses/>. #include <experimental/array> +#include <functional> struct MoveOnly { diff --git a/libstdc++-v3/testsuite/experimental/array/neg.cc b/libstdc++-v3/testsuite/experimental/array/neg.cc index e91a5c5..cd08657 100644 --- a/libstdc++-v3/testsuite/experimental/array/neg.cc +++ b/libstdc++-v3/testsuite/experimental/array/neg.cc @@ -18,10 +18,11 @@ // <http://www.gnu.org/licenses/>. #include <experimental/array> +#include <functional> int main() { int dummy; auto bad = std::experimental::make_array(std::ref(dummy)); - // { dg-error "make_array cannot be used without an explicit target type if any of the types given is a reference_wrapper" "" { target *-*-* } 77 } + // { dg-error "make_array cannot be used without an explicit target type if any of the types given is a reference_wrapper" "" { target *-*-* } 76 } } diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc index 1b0366d..6dc0e2e 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc @@ -25,7 +25,7 @@ using std::experimental::propagate_const; using std::unique_ptr; -// { dg-error "no type" "" { target *-*-* } 159 } +// { dg-error "no type" "" { target *-*-* } 161 } int main() { diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc index ffdc756..abfc62d 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc @@ -25,10 +25,10 @@ using std::experimental::propagate_const; using std::unique_ptr; -// { dg-error "no type" "" { target *-*-* } 118 } -// { dg-error "no type" "" { target *-*-* } 125 } -// { dg-error "no type" "" { target *-*-* } 134 } -// { dg-error "no type" "" { target *-*-* } 143 } +// { dg-error "no type" "" { target *-*-* } 120 } +// { dg-error "no type" "" { target *-*-* } 127 } +// { dg-error "no type" "" { target *-*-* } 136 } +// { dg-error "no type" "" { target *-*-* } 145 } int main() { diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc index de2d293..5f46dc4 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc @@ -21,9 +21,9 @@ using std::experimental::propagate_const; -// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 105 } -// { dg-error "not a pointer-to-object type" "" { target *-*-* } 66 } -// { dg-error "forming pointer to reference type" "" { target *-*-* } 185 } -// { dg-error "forming pointer to reference type" "" { target *-*-* } 211 } +// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 107 } +// { dg-error "not a pointer-to-object type" "" { target *-*-* } 68 } +// { dg-error "forming pointer to reference type" "" { target *-*-* } 187 } +// { dg-error "forming pointer to reference type" "" { target *-*-* } 213 } propagate_const<void*> test1; diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc index fd25204..abc4839 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc @@ -21,6 +21,6 @@ using std::experimental::propagate_const; -// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 105 } +// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 107 } propagate_const<void (*)()> test1; diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc index 3cea93d..1c3c653 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements4.cc @@ -21,8 +21,8 @@ using std::experimental::propagate_const; -// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 105 } -// { dg-error "invalid type" "" { target *-*-* } 66 } -// { dg-error "uninitialized reference member" "" { target *-*-* } 112 } +// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 107 } +// { dg-error "invalid type" "" { target *-*-* } 68 } +// { dg-error "uninitialized reference member" "" { target *-*-* } 114 } propagate_const<int&> test1; // { dg-error "use of deleted function" } diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc b/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc index 9740fc3..72844fa 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements5.cc @@ -21,6 +21,6 @@ using std::experimental::propagate_const; -// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 105 } +// { dg-error "requires a class or a pointer to an object type" "" { target *-*-* } 107 } propagate_const<int[1]> test1;