<div dir="ltr"><a href="https://reviews.llvm.org/D68879" rel="noreferrer" target="_blank">https://reviews.llvm.org/D68879</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 11 Oct 2019 at 10:01, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Fri, 11 Oct 2019 at 03:59, David Zarzycki via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Richard,<br>
<br>
This breaks libcxx and libcxxabi my local stage two build bot (Fedora 31 x86_64). Is this expected? Can we revert this?<br></blockquote><div><br></div><div>We should turn off -Wdeprecated-volatile for those libraries, at least for now. Working on a patch...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
FAIL: libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp (55505 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:21:<br>
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'volatile void' is deprecated [-Werror,-Wdeprecated-volatile]<br>
template <class _Tp> _Tp __declval(long);<br>
^<br>
/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<br>
: integral_constant<bool, __invokable<_Fn, _Args...>::value> {};<br>
^<br>
/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<br>
static_assert(!std::is_invocable<volatile void>::value, "");<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp:21:<br>
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'const volatile void' is deprecated [-Werror,-Wdeprecated-volatile]<br>
template <class _Tp> _Tp __declval(long);<br>
^<br>
/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<br>
: integral_constant<bool, __invokable<_Fn, _Args...>::value> {};<br>
^<br>
/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<br>
static_assert(!std::is_invocable<const volatile void>::value, "");<br>
^<br>
2 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp (55513 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:15:<br>
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'volatile void' is deprecated [-Werror,-Wdeprecated-volatile]<br>
template <class _Tp> _Tp __declval(long);<br>
^<br>
/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<br>
__invokable<_Fp, _Args...>::value,<br>
^<br>
/home/dave/s/lp/libcxx/include/type_traits:3658:31: note: in instantiation of template type alias '__nothrow_invokable' requested here<br>
: integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {};<br>
^<br>
/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<br>
static_assert(!std::is_nothrow_invocable<volatile void>::value, "");<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp:15:<br>
/home/dave/s/lp/libcxx/include/type_traits:1123:22: error: volatile-qualified return type 'const volatile void' is deprecated [-Werror,-Wdeprecated-volatile]<br>
template <class _Tp> _Tp __declval(long);<br>
^<br>
/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<br>
__invokable<_Fp, _Args...>::value,<br>
^<br>
/home/dave/s/lp/libcxx/include/type_traits:3658:31: note: in instantiation of template type alias '__nothrow_invokable' requested here<br>
: integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {};<br>
^<br>
/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<br>
static_assert(!std::is_nothrow_invocable<const volatile void>::value, "");<br>
^<br>
2 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp (55556 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
/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]<br>
test_result_of_imp<PMD(F volatile ), char &&>();<br>
^<br>
/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]<br>
test_result_of_imp<PMD(F const volatile ), char &&>();<br>
^<br>
/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]<br>
test_result_of_imp<PMD(FD volatile ), char &&>();<br>
^<br>
/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]<br>
test_result_of_imp<PMD(FD const volatile ), char &&>();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (F volatile )) () volatile &&, int> ();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (F volatile )) () const volatile &&, int> ();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (F const volatile )) () const volatile &&, int> ();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (FD volatile )) () volatile &&, int> ();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (FD volatile )) () const volatile &&, int> ();<br>
^<br>
/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]<br>
test_result_of_imp<int (F::* (FD const volatile )) () const volatile &&, int> ();<br>
^<br>
10 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (56277 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:22:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__copy_assignable_trait><br>
^<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
V v(std::in_place_type<const int>, x);<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp:22:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__move_assignable_trait><br>
^<br>
/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<br>
_LIBCPP_VARIANT_COPY_ASSIGNMENT(<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'<br>
: public __move_assignment<__traits<_Types...>> { \<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
V v(std::in_place_type<const int>, x);<br>
^<br>
2 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (56314 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__copy_assignable_trait><br>
^<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
V v(std::in_place_index<0>, x);<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__move_assignable_trait><br>
^<br>
/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<br>
_LIBCPP_VARIANT_COPY_ASSIGNMENT(<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'<br>
: public __move_assignment<__traits<_Types...>> { \<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
V v(std::in_place_index<0>, x);<br>
^<br>
2 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++abi :: unwind_06.pass.cpp (56319 of 58603)<br>
******************** TEST 'libc++abi :: unwind_06.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/home/dave/s/lp/libcxxabi/include<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
/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]<br>
for (counter = 100; counter; --counter)<br>
^<br>
8 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp (56354 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:20:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__copy_assignable_trait><br>
^<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
std::variant<bool volatile, std::unique_ptr<int>> v = nullptr;<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:20:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__move_assignable_trait><br>
^<br>
/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<br>
_LIBCPP_VARIANT_COPY_ASSIGNMENT(<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'<br>
: public __move_assignment<__traits<_Types...>> { \<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
std::variant<bool volatile, std::unique_ptr<int>> v = nullptr;<br>
^<br>
2 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
FAIL: libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (56408 of 58603)<br>
******************** TEST 'libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp' FAILED ********************<br>
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']<br>
Exit Code: 1<br>
Standard Error:<br>
--<br>
clang version 10.0.0 (/home/dave/s/lp/clang 0746aafd89754a2ae9992c4d6394e3b4f3623b1d)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
InstalledDir: /p/tllvm/bin<br>
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/9<br>
Candidate multilib: .;@m64<br>
Candidate multilib: 32;@m32<br>
Selected multilib: .;@m64<br>
"/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<br>
clang -cc1 version 10.0.0 based upon LLVM 10.0.0svn default target x86_64-unknown-linux-gnu<br>
ignoring nonexistent directory "/include"<br>
#include "..." search starts here:<br>
#include <...> search starts here:<br>
/home/dave/s/lp/libcxx/include<br>
/tmp/_update_lc/t/projects/libcxx/include/c++build<br>
/home/dave/s/lp/libcxx/test/support<br>
/usr/local/include<br>
/p/tllvm/lib64/clang/10.0.0/include<br>
/usr/include<br>
End of search list.<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__copy_assignable_trait><br>
^<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
std::variant<bool volatile, int> v = 42;<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)><br>
^<br>
/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<br>
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,<br>
^<br>
/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<br>
_IsTriviallyAvailable<_Tp>::value<br>
^<br>
/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<br>
__trait<_Types, is_trivially_move_assignable, is_move_assignable>...});<br>
^<br>
/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<br>
template <class _Traits, _Trait = _Traits::__move_assignable_trait><br>
^<br>
/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<br>
_LIBCPP_VARIANT_COPY_ASSIGNMENT(<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/home/dave/s/lp/libcxx/include/variant:998:16: note: expanded from macro '_LIBCPP_VARIANT_COPY_ASSIGNMENT'<br>
: public __move_assignment<__traits<_Types...>> { \<br>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
/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<br>
: public __copy_assignment<__traits<_Types...>> {<br>
^<br>
/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<br>
__variant_detail::__impl<_Types...> __impl;<br>
^<br>
/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<br>
std::variant<bool volatile, int> v = 42;<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {};<br>
^<br>
/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<br>
= is_nothrow_assignable<_Tp, _Arg>::value;<br>
^<br>
/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<br>
is_nothrow_assignable_v<_Tp&, _Arg> &&<br>
^<br>
/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<br>
v = false;<br>
^<br>
In file included from /home/dave/s/lp/libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp:22:<br>
In file included from /home/dave/s/lp/libcxx/include/string:504:<br>
In file included from /home/dave/s/lp/libcxx/include/string_view:175:<br>
In file included from /home/dave/s/lp/libcxx/include/__string:56:<br>
In file included from /home/dave/s/lp/libcxx/include/algorithm:639:<br>
In file included from /home/dave/s/lp/libcxx/include/initializer_list:46:<br>
In file included from /home/dave/s/lp/libcxx/include/cstddef:110:<br>
/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]<br>
: public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {};<br>
^<br>
/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<br>
= is_nothrow_assignable<_Tp, _Arg>::value;<br>
^<br>
/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<br>
is_nothrow_assignable_v<_Tp&, _Arg> &&<br>
^<br>
/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<br>
v = lvt;<br>
^<br>
4 errors generated.<br>
--<br>
<br>
Compilation failed unexpectedly!<br>
********************<br>
Testing Time: 110.93s<br>
********************<br>
Failing Tests (8):<br>
libc++ :: std/utilities/meta/meta.rel/is_invocable.pass.cpp<br>
libc++ :: std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp<br>
libc++ :: std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp<br>
libc++ :: std/utilities/variant/variant.variant/variant.assign/T.pass.cpp<br>
libc++ :: std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp<br>
libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp<br>
libc++ :: std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp<br>
libc++abi :: unwind_06.pass.cpp<br>
<br>
Expected Passes : 43008<br>
Expected Failures : 101<br>
Unsupported Tests : 15486<br>
Unexpected Failures: 8<br>
<br>
10 warning(s) in tests.<br>
FAILED: CMakeFiles/check-all <br>
<br>
> On Oct 9, 2019, at 3:49 AM, Richard Smith via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br>
> <br>
> Author: rsmith<br>
> Date: Tue Oct 8 17:49:40 2019<br>
> New Revision: 374133<br>
> <br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=374133&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=374133&view=rev</a><br>
> Log:<br>
> [c++20] Implement most of P1152R4.<br>
> <br>
> Diagnose some now-deprecated uses of volatile types:<br>
> * as function parameter types and return types<br>
> * as the type of a structured binding declaration<br>
> * as the type of the lvalue operand of an increment / decrement /<br>
> compound assignment operator<br>
> <br>
> This does not implement a check for the deprecation of simple<br>
> assignments whose results are used; that check requires somewhat<br>
> more complexity and will be addressed separately.<br>
> <br>
> Modified:<br>
> cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
> cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
> cfe/trunk/lib/Sema/SemaDeclCXX.cpp<br>
> cfe/trunk/lib/Sema/SemaExpr.cpp<br>
> cfe/trunk/lib/Sema/SemaType.cpp<br>
> cfe/trunk/test/SemaCXX/deprecated.cpp<br>
> cfe/trunk/www/cxx_status.html<br>
> <br>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)<br>
> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Tue Oct 8 17:49:40 2019<br>
> @@ -140,6 +140,7 @@ def DeprecatedImplementations :DiagGroup<br>
> def DeprecatedIncrementBool : DiagGroup<"deprecated-increment-bool">;<br>
> def DeprecatedRegister : DiagGroup<"deprecated-register">;<br>
> def DeprecatedThisCapture : DiagGroup<"deprecated-this-capture">;<br>
> +def DeprecatedVolatile : DiagGroup<"deprecated-volatile">;<br>
> def DeprecatedWritableStr : DiagGroup<"deprecated-writable-strings",<br>
> [CXX11CompatDeprecatedWritableStr]>;<br>
> // FIXME: Why is DeprecatedImplementations not in this group?<br>
> @@ -150,6 +151,7 @@ def Deprecated : DiagGroup<"deprecated",<br>
> DeprecatedIncrementBool,<br>
> DeprecatedRegister,<br>
> DeprecatedThisCapture,<br>
> + DeprecatedVolatile,<br>
> DeprecatedWritableStr]>,<br>
> DiagCategory<"Deprecations">;<br>
> <br>
> <br>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)<br>
> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Tue Oct 8 17:49:40 2019<br>
> @@ -6650,6 +6650,23 @@ def ext_increment_bool : ExtWarn<<br>
> DefaultError, InGroup<IncrementBool>;<br>
> def err_increment_decrement_enum : Error<<br>
> "cannot %select{decrement|increment}0 expression of enum type %1">;<br>
> +<br>
> +def warn_deprecated_increment_decrement_volatile : Warning<<br>
> + "%select{decrement|increment}0 of object of volatile-qualified type %1 "<br>
> + "is deprecated">, InGroup<DeprecatedVolatile>;<br>
> +def warn_deprecated_compound_assign_volatile : Warning<<br>
> + "compound assignment to object of volatile-qualified type %0 is deprecated">,<br>
> + InGroup<DeprecatedVolatile>;<br>
> +def warn_deprecated_volatile_return : Warning<<br>
> + "volatile-qualified return type %0 is deprecated">,<br>
> + InGroup<DeprecatedVolatile>;<br>
> +def warn_deprecated_volatile_param : Warning<<br>
> + "volatile-qualified parameter type %0 is deprecated">,<br>
> + InGroup<DeprecatedVolatile>;<br>
> +def warn_deprecated_volatile_structured_binding : Warning<<br>
> + "volatile qualifier in structured binding declaration is deprecated">,<br>
> + InGroup<DeprecatedVolatile>;<br>
> +<br>
> def err_catch_incomplete_ptr : Error<<br>
> "cannot catch pointer to incomplete type %0">;<br>
> def err_catch_incomplete_ref : Error<<br>
> <br>
> Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Tue Oct 8 17:49:40 2019<br>
> @@ -775,6 +775,13 @@ Sema::ActOnDecompositionDeclarator(Scope<br>
> return nullptr;<br>
> }<br>
> <br>
> + // C++2a [dcl.struct.bind]p1:<br>
> + // A cv that includes volatile is deprecated<br>
> + if ((DS.getTypeQualifiers() & DeclSpec::TQ_volatile) &&<br>
> + getLangOpts().CPlusPlus2a)<br>
> + Diag(DS.getVolatileSpecLoc(),<br>
> + diag::warn_deprecated_volatile_structured_binding);<br>
> +<br>
> TypeSourceInfo *TInfo = GetTypeForDeclarator(D, S);<br>
> QualType R = TInfo->getType();<br>
> <br>
> <br>
> Modified: cfe/trunk/lib/Sema/SemaExpr.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaExpr.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaExpr.cpp Tue Oct 8 17:49:40 2019<br>
> @@ -11938,6 +11938,21 @@ QualType Sema::CheckAssignmentOperands(E<br>
> <br>
> CheckForNullPointerDereference(*this, LHSExpr);<br>
> <br>
> + if (getLangOpts().CPlusPlus2a && LHSType.isVolatileQualified()) {<br>
> + if (CompoundType.isNull()) {<br>
> + // C++2a [expr.ass]p5:<br>
> + // A simple-assignment whose left operand is of a volatile-qualified<br>
> + // type is deprecated unless the assignment is either a discarded-value<br>
> + // expression or an unevaluated operand<br>
> + // FIXME: Implement checks for this.<br>
> + } else {<br>
> + // C++2a [expr.ass]p6:<br>
> + // [Compound-assignment] expressions are deprecated if E1 has<br>
> + // volatile-qualified type<br>
> + Diag(Loc, diag::warn_deprecated_compound_assign_volatile) << LHSType;<br>
> + }<br>
> + }<br>
> +<br>
> // C99 6.5.16p3: The type of an assignment expression is the type of the<br>
> // left operand unless the left operand has qualified type, in which case<br>
> // it is the unqualified version of the type of the left operand.<br>
> @@ -12126,6 +12141,12 @@ static QualType CheckIncrementDecrementO<br>
> // Now make sure the operand is a modifiable lvalue.<br>
> if (CheckForModifiableLvalue(Op, OpLoc, S))<br>
> return QualType();<br>
> + if (S.getLangOpts().CPlusPlus2a && ResType.isVolatileQualified()) {<br>
> + // C++2a [expr.pre.inc]p1, [expr.post.inc]p1:<br>
> + // An operand with volatile-qualified type is deprecated<br>
> + S.Diag(OpLoc, diag::warn_deprecated_increment_decrement_volatile)<br>
> + << IsInc << ResType;<br>
> + }<br>
> // In C++, a prefix increment is the same type as the operand. Otherwise<br>
> // (in C or with postfix), the increment is the unqualified type of the<br>
> // operand.<br>
> <br>
> Modified: cfe/trunk/lib/Sema/SemaType.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaType.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaType.cpp Tue Oct 8 17:49:40 2019<br>
> @@ -2475,6 +2475,11 @@ bool Sema::CheckFunctionReturnType(QualT<br>
> checkNonTrivialCUnion(T, Loc, NTCUC_FunctionReturn,<br>
> NTCUK_Destruct|NTCUK_Copy);<br>
> <br>
> + // C++2a [dcl.fct]p12:<br>
> + // A volatile-qualified return type is deprecated<br>
> + if (T.isVolatileQualified() && getLangOpts().CPlusPlus2a)<br>
> + Diag(Loc, diag::warn_deprecated_volatile_return) << T;<br>
> +<br>
> return false;<br>
> }<br>
> <br>
> @@ -2555,6 +2560,11 @@ QualType Sema::BuildFunctionType(QualTyp<br>
> Invalid = true;<br>
> }<br>
> <br>
> + // C++2a [dcl.fct]p4:<br>
> + // A parameter with volatile-qualified type is deprecated<br>
> + if (ParamType.isVolatileQualified() && getLangOpts().CPlusPlus2a)<br>
> + Diag(Loc, diag::warn_deprecated_volatile_param) << ParamType;<br>
> +<br>
> ParamTypes[Idx] = ParamType;<br>
> }<br>
> <br>
> @@ -4685,6 +4695,11 @@ static TypeSourceInfo *GetFullTypeForDec<br>
> S.Diag(DeclType.Loc, diag::err_func_returning_qualified_void) << T;<br>
> } else<br>
> diagnoseRedundantReturnTypeQualifiers(S, T, D, chunkIndex);<br>
> +<br>
> + // C++2a [dcl.fct]p12:<br>
> + // A volatile-qualified return type is deprecated<br>
> + if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a)<br>
> + S.Diag(DeclType.Loc, diag::warn_deprecated_volatile_return) << T;<br>
> }<br>
> <br>
> // Objective-C ARC ownership qualifiers are ignored on the function<br>
> @@ -5168,6 +5183,13 @@ static TypeSourceInfo *GetFullTypeForDec<br>
> T->isObjectType())<br>
> T.addConst();<br>
> <br>
> + // C++2a [dcl.fct]p4:<br>
> + // A parameter with volatile-qualified type is deprecated<br>
> + if (T.isVolatileQualified() && S.getLangOpts().CPlusPlus2a &&<br>
> + (D.getContext() == DeclaratorContext::PrototypeContext ||<br>
> + D.getContext() == DeclaratorContext::LambdaExprParameterContext))<br>
> + S.Diag(D.getIdentifierLoc(), diag::warn_deprecated_volatile_param) << T;<br>
> +<br>
> // If there was an ellipsis in the declarator, the declaration declares a<br>
> // parameter pack whose type may be a pack expansion type.<br>
> if (D.hasEllipsis()) {<br>
> <br>
> Modified: cfe/trunk/test/SemaCXX/deprecated.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/deprecated.cpp?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/deprecated.cpp?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/test/SemaCXX/deprecated.cpp (original)<br>
> +++ cfe/trunk/test/SemaCXX/deprecated.cpp Tue Oct 8 17:49:40 2019<br>
> @@ -2,7 +2,7 @@<br>
> // RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify -triple x86_64-linux-gnu<br>
> // RUN: %clang_cc1 -std=c++14 %s -Wdeprecated -verify -triple x86_64-linux-gnu<br>
> // RUN: %clang_cc1 -std=c++17 %s -Wdeprecated -verify -triple x86_64-linux-gnu<br>
> -// RUN: %clang_cc1 -std=c++2a %s -Wdeprecated -verify -triple x86_64-linux-gnu<br>
> +// RUN: %clang_cc1 -std=c++2a %s -Wdeprecated -verify=expected,cxx20 -triple x86_64-linux-gnu<br>
> <br>
> // RUN: %clang_cc1 -std=c++14 %s -Wdeprecated -verify -triple x86_64-linux-gnu -Wno-deprecated-register -DNO_DEPRECATED_FLAGS<br>
> <br>
> @@ -125,5 +125,72 @@ void array_index_comma() {<br>
> X()[(X(), X())];<br>
> }<br>
> <br>
> +namespace DeprecatedVolatile {<br>
> + volatile int n = 1;<br>
> + void use(int);<br>
> + void f() {<br>
> + // simple assignments are deprecated only if their value is used<br>
> + n = 5; // ok<br>
> +#if __cplusplus >= 201103L<br>
> + decltype(n = 5) m = n; // ok expected-warning {{side effects}}<br>
> + m = sizeof(n = 5); // ok expected-warning {{side effects}}<br>
> +#endif<br>
> + (n = 5, 0); // ok<br>
> + use(n = 5); // FIXME: deprecated<br>
> + (n = 5); // FIXME: deprecated<br>
> + int q = n = 5; // FIXME: deprecated<br>
> + q = n = 5; // FIXME: deprecated<br>
> +#if __cplusplus >= 201103L<br>
> + decltype(q = n = 5) m2 = q; // FIXME: deprecated expected-warning {{side effects}}<br>
> +#endif<br>
> + q = sizeof(q = n = 5); // FIXME: deprecated expected-warning {{side effects}}<br>
> +<br>
> + // inc / dec / compound assignments are always deprecated<br>
> + ++n; // cxx20-warning {{increment of object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + --n; // cxx20-warning {{decrement of object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n++; // cxx20-warning {{increment of object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n--; // cxx20-warning {{decrement of object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n += 5; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n *= 3; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n /= 2; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}<br>
> + n %= 42; // cxx20-warning {{compound assignment to object of volatile-qualified type 'volatile int' is deprecated}}<br>
> +<br>
> +#if __cplusplus >= 201703L<br>
> + struct X { int a, b; };<br>
> + volatile auto [x, y] = X{1, 2}; // cxx20-warning {{volatile qualifier in structured binding declaration is deprecated}}<br>
> +<br>
> + struct Y { volatile int a, b; };<br>
> + auto [x2, y2] = Y{1, 2}; // ok<br>
> +#endif<br>
> + }<br>
> + volatile int g( // cxx20-warning {{volatile-qualified return type 'volatile int' is deprecated}}<br>
> + volatile int n, // cxx20-warning {{volatile-qualified parameter type 'volatile int' is deprecated}}<br>
> + volatile int (*p)( // cxx20-warning {{volatile-qualified return type 'volatile int' is deprecated}}<br>
> + volatile int m) // cxx20-warning {{volatile-qualified parameter type 'volatile int' is deprecated}}<br>
> + );<br>
> +#if __cplusplus >= 201103L<br>
> + auto lambda = []( // cxx20-warning{{volatile-qualified return type 'volatile int' is deprecated}}<br>
> + volatile int n) // cxx20-warning{{volatile-qualified parameter type 'volatile int' is deprecated}}<br>
> + -> volatile int { return n; };<br>
> +#endif<br>
> +<br>
> + template<typename T> T f(T v); // cxx20-warning 2{{deprecated}}<br>
> + int use_f = f<volatile int>(0); // FIXME: Missing "in instantiation of" note.<br>
> +<br>
> + // OK, only the built-in operators are deprecated.<br>
> + struct UDT {<br>
> + UDT(volatile const UDT&);<br>
> + UDT &operator=(const UDT&);<br>
> + UDT &operator=(const UDT&) volatile;<br>
> + UDT operator+=(const UDT&) volatile;<br>
> + };<br>
> + void h(UDT a) {<br>
> + volatile UDT b = a;<br>
> + volatile UDT c = b;<br>
> + a = c = a;<br>
> + b += a;<br>
> + }<br>
> +}<br>
> +<br>
> # 1 "/usr/include/system-header.h" 1 3<br>
> void system_header_function(void) throw();<br>
> <br>
> Modified: cfe/trunk/www/cxx_status.html<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html?rev=374133&r1=374132&r2=374133&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html?rev=374133&r1=374132&r2=374133&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/www/cxx_status.html (original)<br>
> +++ cfe/trunk/www/cxx_status.html Tue Oct 8 17:49:40 2019<br>
> @@ -1103,7 +1103,7 @@ as the draft C++2a standard evolves.<br>
> <tr><br>
> <td>Deprecate some problematic uses of <tt>volatile</tt></td><br>
> <td><a href="<a href="http://wg21.link/p1152r4" rel="noreferrer" target="_blank">http://wg21.link/p1152r4</a>">P1152R4</a></td><br>
> - <td class="none" align="center">No</td><br>
> + <td class="partial" align="center">Partial</td><br>
> </tr><br>
> <tr><br>
> <td><tt>[[nodiscard("with reason")]]</tt></td><br>
> <br>
> <br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div></div>
</blockquote></div>