r374133 - [c++20] Implement most of P1152R4.
David Zarzycki via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 11 03:59:02 PDT 2019
Hi Richard,
This breaks libcxx and libcxxabi my local stage two build bot (Fedora 31 x86_64). Is this expected? Can we revert this?
FAIL: libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp (55505 of 58603)
******************** TEST 'libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel/Output/is_invocable.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name is_invocable.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel/Output/is_invocable.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:21:
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'volatile void' is deprecated [-Werror,-Wdeprecated-volatile]
template <class _Tp> _Tp __declval(long);
^
/home/dave/s/lp/libcxx/include/type_traits:3640:31: note: in instantiation of template class 'std::__1::__invokable_r<void, volatile void>' requested here
: integral_constant<bool, __invokable<_Fn, _Args...>::value> {};
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:56:25: note: in instantiation of template class 'std::__1::is_invocable<volatile void>' requested here
static_assert(!std::is_invocable<volatile void>::value, "");
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:21:
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'const volatile void' is deprecated [-Werror,-Wdeprecated-volatile]
template <class _Tp> _Tp __declval(long);
^
/home/dave/s/lp/libcxx/include/type_traits:3640:31: note: in instantiation of template class 'std::__1::__invokable_r<void, const volatile void>' requested here
: integral_constant<bool, __invokable<_Fn, _Args...>::value> {};
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:57:25: note: in instantiation of template class 'std::__1::is_invocable<const volatile void>' requested here
static_assert(!std::is_invocable<const volatile void>::value, "");
^
2 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp (55513 of 58603)
******************** TEST 'libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel/Output/is_nothrow_invocable.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name is_nothrow_invocable.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.rel/Output/is_nothrow_invocable.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:15:
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'volatile void' is deprecated [-Werror,-Wdeprecated-volatile]
template <class _Tp> _Tp __declval(long);
^
/home/dave/s/lp/libcxx/include/type_traits:3599:13: note: in instantiation of template class 'std::__1::__invokable_r<void, volatile void>' requested here
__invokable<_Fp, _Args...>::value,
^
/home/dave/s/lp/libcxx/include/type_traits:3658:31: note: in instantiation of template type alias '__nothrow_invokable' requested here
: integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {};
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:89:25: note: in instantiation of template class 'std::__1::is_nothrow_invocable<volatile void>' requested here
static_assert(!std::is_nothrow_invocable<volatile void>::value, "");
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:15:
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'const volatile void' is deprecated [-Werror,-Wdeprecated-volatile]
template <class _Tp> _Tp __declval(long);
^
/home/dave/s/lp/libcxx/include/type_traits:3599:13: note: in instantiation of template class 'std::__1::__invokable_r<void, const volatile void>' requested here
__invokable<_Fp, _Args...>::value,
^
/home/dave/s/lp/libcxx/include/type_traits:3658:31: note: in instantiation of template type alias '__nothrow_invokable' requested here
: integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {};
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:90:25: note: in instantiation of template class 'std::__1::is_nothrow_invocable<const volatile void>' requested here
static_assert(!std::is_nothrow_invocable<const volatile void>::value, "");
^
2 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp (55556 of 58603)
******************** TEST 'libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/Output/result_of11.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name result_of11.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/Output/result_of11.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:74:45: error: volatile-qualified parameter type 'volatile F' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<PMD(F volatile ), char &&>();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:75:45: error: volatile-qualified parameter type 'const volatile F' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<PMD(F const volatile ), char &&>();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:89:46: error: volatile-qualified parameter type 'volatile FD' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<PMD(FD volatile ), char &&>();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:90:46: error: volatile-qualified parameter type 'const volatile FD' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<PMD(FD const volatile ), char &&>();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:129:46: error: volatile-qualified parameter type 'volatile F' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (F volatile )) () volatile &&, int> ();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:130:46: error: volatile-qualified parameter type 'volatile F' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (F volatile )) () const volatile &&, int> ();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:131:52: error: volatile-qualified parameter type 'const volatile F' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (F const volatile )) () const volatile &&, int> ();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:160:47: error: volatile-qualified parameter type 'volatile FD' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (FD volatile )) () volatile &&, int> ();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:161:47: error: volatile-qualified parameter type 'volatile FD' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (FD volatile )) () const volatile &&, int> ();
^
/home/dave/s/lp/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp:162:53: error: volatile-qualified parameter type 'const volatile FD' is deprecated [-Werror,-Wdeprecated-volatile]
test_result_of_imp<int (F::* (FD const volatile )) () const volatile &&, int> ();
^
10 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (56277 of 58603)
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/in_place_type_args.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name in_place_type_args.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/in_place_type_args.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:22:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:2994:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile int &, const volatile int &>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_copy_assignable<volatile int>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:387:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile int, is_trivially_copy_assignable, is_copy_assignable>' requested here
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:990:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<const int, volatile int, int>::__copy_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of default argument for '__copy_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int> >' required here
: public __copy_assignment<__traits<_Types...>> {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<const int, volatile int, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:91:7: note: in instantiation of template class 'std::__1::variant<const int, volatile int, int>' requested here
V v(std::in_place_type<const int>, x);
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:22:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:3006:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile int &, volatile int &&>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_move_assignable<volatile int>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:391:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile int, is_trivially_move_assignable, is_move_assignable>' requested here
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:949:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<const int, volatile int, int>::__move_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__move_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1023:1: note: in instantiation of default argument for '__move_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int> >' required here
_LIBCPP_VARIANT_COPY_ASSIGNMENT(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'
: public __move_assignment<__traits<_Types...>> { \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of template class 'std::__1::__variant_detail::__copy_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int>, std::__1::__variant_detail::_Trait::_Unavailable>' requested here
: public __copy_assignment<__traits<_Types...>> {
^
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<const int, volatile int, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:91:7: note: in instantiation of template class 'std::__1::variant<const int, volatile int, int>' requested here
V v(std::in_place_type<const int>, x);
^
2 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (56314 of 58603)
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/in_place_index_args.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name in_place_index_args.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/in_place_index_args.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:2994:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile int &, const volatile int &>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_copy_assignable<volatile int>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:387:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile int, is_trivially_copy_assignable, is_copy_assignable>' requested here
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:990:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<const int, volatile int, int>::__copy_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of default argument for '__copy_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int> >' required here
: public __copy_assignment<__traits<_Types...>> {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<const int, volatile int, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:81:7: note: in instantiation of template class 'std::__1::variant<const int, volatile int, int>' requested here
V v(std::in_place_index<0>, x);
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:3006:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile int &, volatile int &&>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_move_assignable<volatile int>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:391:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile int, is_trivially_move_assignable, is_move_assignable>' requested here
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:949:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<const int, volatile int, int>::__move_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__move_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1023:1: note: in instantiation of default argument for '__move_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int> >' required here
_LIBCPP_VARIANT_COPY_ASSIGNMENT(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'
: public __move_assignment<__traits<_Types...>> { \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of template class 'std::__1::__variant_detail::__copy_assignment<std::__1::__variant_detail::__traits<const int, volatile int, int>, std::__1::__variant_detail::_Trait::_Unavailable>' requested here
: public __copy_assignment<__traits<_Types...>> {
^
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<const int, volatile int, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:81:7: note: in instantiation of template class 'std::__1::variant<const int, volatile int, int>' requested here
V v(std::in_place_index<0>, x);
^
2 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++abi :: unwind_06.pass.cpp (56319 of 58603)
******************** TEST 'libc++abi :: unwind_06.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxxabi/test/Output/unwind_06.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-DLIBCXXABI_NO_TIMER', '-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS', '-funwind-tables', '-std=c++2a', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/home/dave/s/lp/libcxxabi/include', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxxabi/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name unwind_06.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -D LIBCXXABI_NO_TIMER -D _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS -I /home/dave/s/lp/libcxx/include -I /home/dave/s/lp/libcxxabi/include -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxxabi/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxxabi/test -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxxabi/test/Output/unwind_06.pass.cpp.o -x c++ /home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/home/dave/s/lp/libcxxabi/include
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:27:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:37:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:48:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:60:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:73:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:87:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:102:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
/home/dave/s/lp/libcxxabi/test/unwind_06.pass.cpp:118:32: error: decrement of object of volatile-qualified type 'volatile int' is deprecated [-Werror,-Wdeprecated-volatile]
for (counter = 100; counter; --counter)
^
8 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp (56354 of 58603)
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/T.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name T.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/Output/T.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:20:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:2994:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile bool &, const volatile bool &>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_copy_assignable<volatile bool>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:387:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile bool, is_trivially_copy_assignable, is_copy_assignable>' requested here
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:990:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >::__copy_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of default argument for '__copy_assignment<std::__1::__variant_detail::__traits<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > > >' required here
: public __copy_assignment<__traits<_Types...>> {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:143:55: note: in instantiation of template class 'std::__1::variant<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >' requested here
std::variant<bool volatile, std::unique_ptr<int>> v = nullptr;
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:20:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:3006:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile bool &, volatile bool &&>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_move_assignable<volatile bool>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:391:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile bool, is_trivially_move_assignable, is_move_assignable>' requested here
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:949:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >::__move_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__move_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1023:1: note: in instantiation of default argument for '__move_assignment<std::__1::__variant_detail::__traits<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > > >' required here
_LIBCPP_VARIANT_COPY_ASSIGNMENT(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'
: public __move_assignment<__traits<_Types...>> { \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of template class 'std::__1::__variant_detail::__copy_assignment<std::__1::__variant_detail::__traits<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >, std::__1::__variant_detail::_Trait::_Unavailable>' requested here
: public __copy_assignment<__traits<_Types...>> {
^
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:143:55: note: in instantiation of template class 'std::__1::variant<volatile bool, std::__1::unique_ptr<int, std::__1::default_delete<int> > >' requested here
std::variant<bool volatile, std::unique_ptr<int>> v = nullptr;
^
2 errors generated.
--
Compilation failed unexpectedly!
********************
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (56408 of 58603)
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp' FAILED ********************
Command: ['/p/tllvm/bin/clang++', '-o', '/tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.assign/Output/T.pass.cpp.o', '-x', 'c++', '/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp', '-c', '-v', '-ftemplate-depth=270', '-Werror=thread-safety', '-std=c++2a', '-include', '/home/dave/s/lp/libcxx/test/support/nasty_macros.h', '-nostdinc++', '-I/home/dave/s/lp/libcxx/include', '-I/tmp/_update_lc/t/projects/libcxx/include/c++build', '-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS', '-I/home/dave/s/lp/libcxx/test/support', '-DLIBCXX_FILESYSTEM_STATIC_TEST_ROOT="/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT="/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env"', '-DLIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER="/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py"', '-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER', '-Wall', '-Wextra', '-Werror', '-Wuser-defined-warnings', '-Wshadow', '-Wno-unused-command-line-argument', '-Wno-attributes', '-Wno-pessimizing-move', '-Wno-c++11-extensions', '-Wno-user-defined-literals', '-Wno-noexcept-type', '-Wsign-compare', '-Wunused-variable', '-Wunused-parameter', '-Wunreachable-code', '-c']
Exit Code: 1
Standard Error:
--
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /p/tllvm/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
"/p/tllvm/bin/clang-10" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name T.pass.cpp -mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -nostdinc++ -resource-dir /p/tllvm/lib64/clang/10.0.0 -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -I /home/dave/s/lp/libcxx/include -I /tmp/_update_lc/t/projects/libcxx/include/c++build -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS -I /home/dave/s/lp/libcxx/test/support -D "LIBCXX_FILESYSTEM_STATIC_TEST_ROOT=\"/home/dave/s/lp/libcxx/test/std/input.output/filesystems/Inputs/static_test_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT=\"/tmp/_update_lc/t/projects/libcxx/test/filesystem/Output/dynamic_env\"" -D "LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER=\"/usr/bin/python /home/dave/s/lp/libcxx/test/support/filesystem_dynamic_test_helper.py\"" -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -internal-isystem /usr/local/include -internal-isystem /p/tllvm/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror=thread-safety -Wall -Wextra -Werror -Wuser-defined-warnings -Wshadow -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -std=c++2a -fdeprecated-macro -fdebug-compilation-dir /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.assign -ftemplate-depth 270 -ferror-limit 19 -fmessage-length 0 -fno-implicit-modules -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/_update_lc/t/projects/libcxx/test/std/utilities/variant/variant.variant/variant.assign/Output/T.pass.cpp.o -x c++ /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dave/s/lp/libcxx/include
/tmp/_update_lc/t/projects/libcxx/include/c++build
/home/dave/s/lp/libcxx/test/support
/usr/local/include
/p/tllvm/lib64/clang/10.0.0/include
/usr/include
End of search list.
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:2994:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile bool &, const volatile bool &>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_copy_assignable<volatile bool>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:387:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile bool, is_trivially_copy_assignable, is_copy_assignable>' requested here
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:990:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<volatile bool, int>::__copy_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of default argument for '__copy_assignment<std::__1::__variant_detail::__traits<volatile bool, int> >' required here
: public __copy_assignment<__traits<_Types...>> {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<volatile bool, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:215:38: note: in instantiation of template class 'std::__1::variant<volatile bool, int>' requested here
std::variant<bool volatile, int> v = 42;
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:2957:66: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
^
/home/dave/s/lp/libcxx/include/type_traits:3006:14: note: in instantiation of template class 'std::__1::is_trivially_assignable<volatile bool &, volatile bool &&>' requested here
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
^
/home/dave/s/lp/libcxx/include/variant:358:5: note: in instantiation of template class 'std::__1::is_trivially_move_assignable<volatile bool>' requested here
_IsTriviallyAvailable<_Tp>::value
^
/home/dave/s/lp/libcxx/include/variant:391:8: note: in instantiation of variable template specialization 'std::__1::__variant_detail::__trait<volatile bool, is_trivially_move_assignable, is_move_assignable>' requested here
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});
^
/home/dave/s/lp/libcxx/include/variant:949:44: note: in instantiation of static data member 'std::__1::__variant_detail::__traits<volatile bool, int>::__move_assignable_trait' requested here
template <class _Traits, _Trait = _Traits::__move_assignable_trait>
^
/home/dave/s/lp/libcxx/include/variant:1012:1: note: in instantiation of default argument for '__move_assignment<std::__1::__variant_detail::__traits<volatile bool, int> >' required here
_LIBCPP_VARIANT_COPY_ASSIGNMENT(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'
: public __move_assignment<__traits<_Types...>> { \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dave/s/lp/libcxx/include/variant:1031:14: note: in instantiation of template class 'std::__1::__variant_detail::__copy_assignment<std::__1::__variant_detail::__traits<volatile bool, int>, std::__1::__variant_detail::_Trait::_TriviallyAvailable>' requested here
: public __copy_assignment<__traits<_Types...>> {
^
/home/dave/s/lp/libcxx/include/variant:1357:39: note: in instantiation of template class 'std::__1::__variant_detail::__impl<volatile bool, int>' requested here
__variant_detail::__impl<_Types...> __impl;
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:215:38: note: in instantiation of template class 'std::__1::variant<volatile bool, int>' requested here
std::variant<bool volatile, int> v = 42;
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:3144:71: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {};
^
/home/dave/s/lp/libcxx/include/type_traits:3173:7: note: in instantiation of template class 'std::__1::is_nothrow_assignable<volatile bool &, bool>' requested here
= is_nothrow_assignable<_Tp, _Arg>::value;
^
/home/dave/s/lp/libcxx/include/variant:1280:7: note: in instantiation of variable template specialization 'std::__1::is_nothrow_assignable_v<volatile bool &, bool>' requested here
is_nothrow_assignable_v<_Tp&, _Arg> &&
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:216:7: note: in instantiation of exception specification for 'operator=<bool, 0, volatile bool, 0, 0>' requested here
v = false;
^
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:
In file included from /home/dave/s/lp/libcxx/include/string:504:
In file included from /home/dave/s/lp/libcxx/include/string_view:175:
In file included from /home/dave/s/lp/libcxx/include/__string:56:
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:
/home/dave/s/lp/libcxx/include/type_traits:3144:71: error: use of result of assignment to object of volatile-qualified type 'volatile bool' is deprecated [-Werror,-Wdeprecated-volatile]
: public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {};
^
/home/dave/s/lp/libcxx/include/type_traits:3173:7: note: in instantiation of template class 'std::__1::is_nothrow_assignable<volatile bool &, bool &>' requested here
= is_nothrow_assignable<_Tp, _Arg>::value;
^
/home/dave/s/lp/libcxx/include/variant:1280:7: note: in instantiation of variable template specialization 'std::__1::is_nothrow_assignable_v<volatile bool &, bool &>' requested here
is_nothrow_assignable_v<_Tp&, _Arg> &&
^
/home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:220:7: note: in instantiation of exception specification for 'operator=<bool &, 0, volatile bool, 0, 0>' requested here
v = lvt;
^
4 errors generated.
--
Compilation failed unexpectedly!
********************
Testing Time: 110.93s
********************
Failing Tests (8):
libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp
libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp
libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp
libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
libc++abi :: unwind_06.pass.cpp
Expected Passes : 43008
Expected Failures : 101
Unsupported Tests : 15486
Unexpected Failures: 8
10 warning(s) in tests.
FAILED: CMakeFiles/check-all
> On Oct 9, 2019, at 3:49 AM, Richard Smith via cfe-commits <cfe-commits at lists.llvm.org> wrote:
>
> Author: rsmith
> Date: Tue Oct 8 17:49:40 2019
> New Revision: 374133
>
> URL: http://llvm.org/viewvc/llvm-project?rev=374133&view=rev
> Log:
> [c++20] Implement most of P1152R4.
>
> Diagnose some now-deprecated uses of volatile types:
> * as function parameter types and return types
> * as the type of a structured binding declaration
> * as the type of the lvalue operand of an increment / decrement /
> compound assignment operator
>
> This does not implement a check for the deprecation of simple
> assignments whose results are used; that check requires somewhat
> more complexity and will be addressed separately.
>
> Modified:
> cfe/trunk/include/clang/Basic/DiagnosticGroups.td
> cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> cfe/trunk/lib/Sema/SemaDeclCXX.cpp
> cfe/trunk/lib/Sema/SemaExpr.cpp
> cfe/trunk/lib/Sema/SemaType.cpp
> cfe/trunk/test/SemaCXX/deprecated.cpp
> cfe/trunk/www/cxx_status.html
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Tue Oct 8 17:49:40 2019
> @@ -140,6 +140,7 @@ def DeprecatedImplementations :DiagGroup
> def DeprecatedIncrementBool : DiagGroup<"deprecated-increment-bool">;
> def DeprecatedRegister : DiagGroup<"deprecated-register">;
> def DeprecatedThisCapture : DiagGroup<"deprecated-this-capture">;
> +def DeprecatedVolatile : DiagGroup<"deprecated-volatile">;
> def DeprecatedWritableStr : DiagGroup<"deprecated-writable-strings",
> [CXX11CompatDeprecatedWritableStr]>;
> // FIXME: Why is DeprecatedImplementations not in this group?
> @@ -150,6 +151,7 @@ def Deprecated : DiagGroup<"deprecated",
> DeprecatedIncrementBool,
> DeprecatedRegister,
> DeprecatedThisCapture,
> + DeprecatedVolatile,
> DeprecatedWritableStr]>,
> DiagCategory<"Deprecations">;
>
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Tue Oct 8 17:49:40 2019
> @@ -6650,6 +6650,23 @@ def ext_increment_bool : ExtWarn<
> DefaultError, InGroup<IncrementBool>;
> def err_increment_decrement_enum : Error<
> "cannot %select{decrement|increment}0 expression of enum type %1">;
> +
> +def warn_deprecated_increment_decrement_volatile : Warning<
> + "%select{decrement|increment}0 of object of volatile-qualified type %1 "
> + "is deprecated">, InGroup<DeprecatedVolatile>;
> +def warn_deprecated_compound_assign_volatile : Warning<
> + "compound assignment to object of volatile-qualified type %0 is deprecated">,
> + InGroup<DeprecatedVolatile>;
> +def warn_deprecated_volatile_return : Warning<
> + "volatile-qualified return type %0 is deprecated">,
> + InGroup<DeprecatedVolatile>;
> +def warn_deprecated_volatile_param : Warning<
> + "volatile-qualified parameter type %0 is deprecated">,
> + InGroup<DeprecatedVolatile>;
> +def warn_deprecated_volatile_structured_binding : Warning<
> + "volatile qualifier in structured binding declaration is deprecated">,
> + InGroup<DeprecatedVolatile>;
> +
> def err_catch_incomplete_ptr : Error<
> "cannot catch pointer to incomplete type %0">;
> def err_catch_incomplete_ref : Error<
>
> Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Tue Oct 8 17:49:40 2019
> @@ -775,6 +775,13 @@ Sema::ActOnDecompositionDeclarator(Scope
> return nullptr;
> }
>
> + // C++2a [dcl.struct.bind]p1:
> + // A cv that includes volatile is deprecated
> + if ((DS.getTypeQualifiers() & DeclSpec::TQ_volatile) &&
> + getLangOpts().CPlusPlus2a)
> + Diag(DS.getVolatileSpecLoc(),
> + diag::warn_deprecated_volatile_structured_binding);
> +
> TypeSourceInfo *TInfo = GetTypeForDeclarator(D, S);
> QualType R = TInfo->getType();
>
>
> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Tue Oct 8 17:49:40 2019
> @@ -11938,6 +11938,21 @@ QualType Sema::CheckAssignmentOperands(E
>
> CheckForNullPointerDereference(*this, LHSExpr);
>
> + if (getLangOpts().CPlusPlus2a && LHSType.isVolatileQualified()) {
> + if (CompoundType.isNull()) {
> + // C++2a [expr.ass]p5:
> + // A simple-assignment whose left operand is of a volatile-qualified
> + // type is deprecated unless the assignment is either a discarded-value
> + // expression or an unevaluated operand
> + // FIXME: Implement checks for this.
> + } else {
> + // C++2a [expr.ass]p6:
> + // [Compound-assignment] expressions are deprecated if E1 has
> + // volatile-qualified type
> + Diag(Loc, diag::warn_deprecated_compound_assign_volatile) << LHSType;
> + }
> + }
> +
> // C99 6.5.16p3: The type of an assignment expression is the type of the
> // left operand unless the left operand has qualified type, in which case
> // it is the unqualified version of the type of the left operand.
> @@ -12126,6 +12141,12 @@ static QualType CheckIncrementDecrementO
> // Now make sure the operand is a modifiable lvalue.
> if (CheckForModifiableLvalue(Op, OpLoc, S))
> return QualType();
> + if (S.getLangOpts().CPlusPlus2a && ResType.isVolatileQualified()) {
> + // C++2a [expr.pre.inc]p1, [expr.post.inc]p1:
> + // An operand with volatile-qualified type is deprecated
> + S.Diag(OpLoc, diag::warn_deprecated_increment_decrement_volatile)
> + << IsInc << ResType;
> + }
> // In C++, a prefix increment is the same type as the operand. Otherwise
> // (in C or with postfix), the increment is the unqualified type of the
> // operand.
>
> Modified: cfe/trunk/lib/Sema/SemaType.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaType.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaType.cpp Tue Oct 8 17:49:40 2019
> @@ -2475,6 +2475,11 @@ bool Sema::CheckFunctionReturnType(QualT
> checkNonTrivialCUnion(T, Loc, NTCUC_FunctionReturn,
> NTCUK_Destruct|NTCUK_Copy);
>
> + // C++2a [dcl.fct]p12:
> + // A volatile-qualified return type is deprecated
> + if (T.isVolatileQualified() && getLangOpts().CPlusPlus2a)
> + Diag(Loc, diag::warn_deprecated_volatile_return) << T;
> +
> return false;
> }
>
> @@ -2555,6 +2560,11 @@ QualType Sema::BuildFunctionType(QualTyp
> Invalid = true;
> }
>
> + // C++2a [dcl.fct]p4:
> + // A parameter with volatile-qualified type is deprecated
> + if (ParamType.isVolatileQualified() && getLangOpts().CPlusPlus2a)
> + Diag(Loc, diag::warn_deprecated_volatile_param) << ParamType;
> +
> ParamTypes[Idx] = ParamType;
> }
>
> @@ -4685,6 +4695,11 @@ static TypeSourceInfo *GetFullTypeForDec
> S.Diag(DeclType.Loc, diag::err_func_returning_qualified_void) << T;
> } else
> diagnoseRedundantReturnTypeQualifiers(S, T, D, chunkIndex);
> +
> + // C++2a [dcl.fct]p12:
> + // A volatile-qualified return type is deprecated
> + if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a)
> + S.Diag(DeclType.Loc, diag::warn_deprecated_volatile_return) << T;
> }
>
> // Objective-C ARC ownership qualifiers are ignored on the function
> @@ -5168,6 +5183,13 @@ static TypeSourceInfo *GetFullTypeForDec
> T->isObjectType())
> T.addConst();
>
> + // C++2a [dcl.fct]p4:
> + // A parameter with volatile-qualified type is deprecated
> + if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a &&
> + (D.getContext() == DeclaratorContext::PrototypeContext ||
> + D.getContext() == DeclaratorContext::LambdaExprParameterContext))
> + S.Diag(D.getIdentifierLoc(), diag::warn_deprecated_volatile_param) << T;
> +
> // If there was an ellipsis in the declarator, the declaration declares a
> // parameter pack whose type may be a pack expansion type.
> if (D.hasEllipsis()) {
>
> Modified: cfe/trunk/test/SemaCXX/deprecated.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/deprecated.cpp?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/deprecated.cpp (original)
> +++ cfe/trunk/test/SemaCXX/deprecated.cpp Tue Oct 8 17:49:40 2019
> @@ -2,7 +2,7 @@
> // RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify -triple x86_64-linux-gnu
> // RUN: %clang_cc1 -std=c++14 %s -Wdeprecated -verify -triple x86_64-linux-gnu
> // RUN: %clang_cc1 -std=c++17 %s -Wdeprecated -verify -triple x86_64-linux-gnu
> -// RUN: %clang_cc1 -std=c++2a %s -Wdeprecated -verify -triple x86_64-linux-gnu
> +// RUN: %clang_cc1 -std=c++2a %s -Wdeprecated -verify=expected,cxx20 -triple x86_64-linux-gnu
>
> // RUN: %clang_cc1 -std=c++14 %s -Wdeprecated -verify -triple x86_64-linux-gnu -Wno-deprecated-register -DNO_DEPRECATED_FLAGS
>
> @@ -125,5 +125,72 @@ void array_index_comma() {
> X()[(X(), X())];
> }
>
> +namespace DeprecatedVolatile {
> + volatile int n = 1;
> + void use(int);
> + void f() {
> + // simple assignments are deprecated only if their value is used
> + n = 5; // ok
> +#if __cplusplus >= 201103L
> + decltype(n = 5) m = n; // ok expected-warning {{side effects}}
> + m = sizeof(n = 5); // ok expected-warning {{side effects}}
> +#endif
> + (n = 5, 0); // ok
> + use(n = 5); // FIXME: deprecated
> + (n = 5); // FIXME: deprecated
> + int q = n = 5; // FIXME: deprecated
> + q = n = 5; // FIXME: deprecated
> +#if __cplusplus >= 201103L
> + decltype(q = n = 5) m2 = q; // FIXME: deprecated expected-warning {{side effects}}
> +#endif
> + q = sizeof(q = n = 5); // FIXME: deprecated expected-warning {{side effects}}
> +
> + // inc / dec / compound assignments are always deprecated
> + ++n; // cxx20-warning {{increment of object of volatile-qualified type 'volatile int' is deprecated}}
> + --n; // cxx20-warning {{decrement of object of volatile-qualified type 'volatile int' is deprecated}}
> + n++; // cxx20-warning {{increment of object of volatile-qualified type 'volatile int' is deprecated}}
> + n--; // cxx20-warning {{decrement of object of volatile-qualified type 'volatile int' is deprecated}}
> + n += 5; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}
> + n *= 3; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}
> + n /= 2; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}
> + n %= 42; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}
> +
> +#if __cplusplus >= 201703L
> + struct X { int a, b; };
> + volatile auto [x, y] = X{1, 2}; // cxx20-warning {{volatile qualifier in structured binding declaration is deprecated}}
> +
> + struct Y { volatile int a, b; };
> + auto [x2, y2] = Y{1, 2}; // ok
> +#endif
> + }
> + volatile int g( // cxx20-warning {{volatile-qualified return type 'volatile int' is deprecated}}
> + volatile int n, // cxx20-warning {{volatile-qualified parameter type 'volatile int' is deprecated}}
> + volatile int (*p)( // cxx20-warning {{volatile-qualified return type 'volatile int' is deprecated}}
> + volatile int m) // cxx20-warning {{volatile-qualified parameter type 'volatile int' is deprecated}}
> + );
> +#if __cplusplus >= 201103L
> + auto lambda = []( // cxx20-warning{{volatile-qualified return type 'volatile int' is deprecated}}
> + volatile int n) // cxx20-warning{{volatile-qualified parameter type 'volatile int' is deprecated}}
> + -> volatile int { return n; };
> +#endif
> +
> + template<typename T> T f(T v); // cxx20-warning 2{{deprecated}}
> + int use_f = f<volatile int>(0); // FIXME: Missing "in instantiation of" note.
> +
> + // OK, only the built-in operators are deprecated.
> + struct UDT {
> + UDT(volatile const UDT&);
> + UDT &operator=(const UDT&);
> + UDT &operator=(const UDT&) volatile;
> + UDT operator+=(const UDT&) volatile;
> + };
> + void h(UDT a) {
> + volatile UDT b = a;
> + volatile UDT c = b;
> + a = c = a;
> + b += a;
> + }
> +}
> +
> # 1 "/usr/include/system-header.h" 1 3
> void system_header_function(void) throw();
>
> Modified: cfe/trunk/www/cxx_status.html
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html?rev=374133&r1=374132&r2=374133&view=diff
> ==============================================================================
> --- cfe/trunk/www/cxx_status.html (original)
> +++ cfe/trunk/www/cxx_status.html Tue Oct 8 17:49:40 2019
> @@ -1103,7 +1103,7 @@ as the draft C++2a standard evolves.
> <tr>
> <td>Deprecate some problematic uses of <tt>volatile</tt></td>
> <td><a href="http://wg21.link/p1152r4">P1152R4</a></td>
> - <td class="none" align="center">No</td>
> + <td class="partial" align="center">Partial</td>
> </tr>
> <tr>
> <td><tt>[[nodiscard("with reason")]]</tt></td>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list