Fix incorrect __cpp_lib_parallel_algorithm macro definitions
* include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value. * include/std/memory (__cpp_lib_parallel_algorithm): Likewise. * include/std/numeric (__cpp_lib_parallel_algorithm): Likewise. * testsuite/25_algorithms/pstl/feature_test.cc: New test. From-SVN: r272216
This commit is contained in:
parent
1ab4217d81
commit
95b3d0fda3
@ -1,5 +1,10 @@
|
||||
2019-06-12 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value.
|
||||
* include/std/memory (__cpp_lib_parallel_algorithm): Likewise.
|
||||
* include/std/numeric (__cpp_lib_parallel_algorithm): Likewise.
|
||||
* testsuite/25_algorithms/pstl/feature_test.cc: New test.
|
||||
|
||||
* include/std/variant (get<T>, get<N>, get_if<N>, get_if<T>)
|
||||
(variant::emplace): Change static_assert messages from "should be"
|
||||
to "must be".
|
||||
|
@ -73,7 +73,7 @@
|
||||
# endif
|
||||
|
||||
// Feature test macro for parallel algorithms
|
||||
# define __cpp_lib_parallel_algorithm 201703L
|
||||
# define __cpp_lib_parallel_algorithm 201603L
|
||||
#endif // C++17
|
||||
|
||||
#ifdef _GLIBCXX_PARALLEL
|
||||
|
@ -407,7 +407,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
|
||||
# endif
|
||||
|
||||
// Feature test macro for parallel algorithms
|
||||
# define __cpp_lib_parallel_algorithm 201703L
|
||||
# define __cpp_lib_parallel_algorithm 201603L
|
||||
#endif // C++17
|
||||
|
||||
#endif /* _GLIBCXX_MEMORY */
|
||||
|
@ -216,7 +216,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
|
||||
# endif
|
||||
|
||||
// Feature test macro for parallel algorithms
|
||||
# define __cpp_lib_parallel_algorithm 201703L
|
||||
# define __cpp_lib_parallel_algorithm 201603L
|
||||
#endif // C++17
|
||||
|
||||
#endif /* _GLIBCXX_NUMERIC */
|
||||
|
50
libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
Normal file
50
libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
Normal file
@ -0,0 +1,50 @@
|
||||
// Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-options "-std=gnu++17" }
|
||||
// { dg-do preprocess { target c++17 } }
|
||||
|
||||
#include <algorithm>
|
||||
#ifndef __cpp_lib_parallel_algorithm
|
||||
# error "Feature-test macro for parallel algorithms missing"
|
||||
#elif __cpp_lib_parallel_algorithm != 201603L
|
||||
# error "Feature-test macro for parallel algorithms has wrong value in <algorithm>"
|
||||
#endif
|
||||
|
||||
#include <numeric>
|
||||
#if __cpp_lib_parallel_algorithm != 201603L
|
||||
# error "Feature-test macro for parallel algorithms has wrong value in <numeric>"
|
||||
#endif
|
||||
|
||||
#include <version>
|
||||
#if __cpp_lib_parallel_algorithm != 201603L
|
||||
# error "Feature-test macro for parallel algorithms has wrong value in <version>"
|
||||
#endif
|
||||
|
||||
// The N4810 draft does not require the macro to be defined in <execution>.
|
||||
#include <memory>
|
||||
#if __cpp_lib_parallel_algorithm != 201603L
|
||||
# error "Feature-test macro for parallel algorithms has wrong value in <memory>"
|
||||
#endif
|
||||
|
||||
// The N4810 draft does not require the macro to be defined in <execution>.
|
||||
// Include this last, because it will trigger the inclusion of TBB headers,
|
||||
// which then include <memory>, so we need to have already checked <memory>.
|
||||
#include <execution>
|
||||
#if __cpp_lib_parallel_algorithm != 201603L
|
||||
# error "Feature-test macro for parallel algorithms has wrong value in <execution>"
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user