r374133 - [c++20] Implement most of P1152R4.
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 11 13:27:47 PDT 2019
https://reviews.llvm.org/D68879
On Fri, 11 Oct 2019 at 10:01, Richard Smith <richard at metafoo.co.uk> wrote:
> On Fri, 11 Oct 2019 at 03:59, David Zarzycki via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> Hi Richard,
>>
>> This breaks libcxx and libcxxabi my local stage two build bot (Fedora 31
>> x86_64). Is this expected? Can we revert this?
>>
>
> We should turn off -Wdeprecated-volatile for those libraries, at least for
> now. Working on a patch...
>
>
>> 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
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191011/5096f8ba/attachment-0001.html>
More information about the cfe-commits
mailing list