aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/tuple
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2022-03-03 13:39:12 -0500
committerLouis Dionne <ldionne.2@gmail.com>2022-03-15 17:17:54 -0400
commite39095a32e882185611eaa02509e12cef9083b73 (patch)
tree44384dc2a9751fcef34ba6b785499cb50b3be168 /libcxx/include/tuple
parent269690116283f5dc192513e8ff18d24aad6918be (diff)
downloadllvm-e39095a32e882185611eaa02509e12cef9083b73.zip
llvm-e39095a32e882185611eaa02509e12cef9083b73.tar.gz
llvm-e39095a32e882185611eaa02509e12cef9083b73.tar.bz2
[libc++] Define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER whenever we enable warnings in the test suite
This should make CI consistent on all the compilers we support. Most of this patch is working around various warnings emitted by GCC in our code base, which are now being shown when we compile the tests. After this patch, the whole test suite should be warning free on all compilers we support and test, except for a few warnings on GCC that we silence explicitly until we figure out the proper fix for them. Differential Revision: https://reviews.llvm.org/D120684
Diffstat (limited to 'libcxx/include/tuple')
-rw-r--r--libcxx/include/tuple2
1 files changed, 2 insertions, 0 deletions
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
index ab1202d..e1303f9 100644
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -1544,6 +1544,7 @@ struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J
typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&>::type
operator()(tuple<_Types...> __t, _Tuple0&& __t0)
{
+ (void)__t; // avoid unused parameter warning on GCC when _I0 is empty
return _VSTD::forward_as_tuple(
_VSTD::forward<_Types>(_VSTD::get<_I0>(__t))...,
_VSTD::get<_J0>(_VSTD::forward<_Tuple0>(__t0))...);
@@ -1554,6 +1555,7 @@ struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J
typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type
operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&& ...__tpls)
{
+ (void)__t; // avoid unused parameter warning on GCC when _I0 is empty
typedef _LIBCPP_NODEBUG typename remove_reference<_Tuple0>::type _T0;
typedef _LIBCPP_NODEBUG typename remove_reference<_Tuple1>::type _T1;
return __tuple_cat<