As the title says, I can no longer build this lib.
�[32;01m * �[39;49;00mRepository: gentoo
�[32;01m * �[39;49;00mMaintainer: [email protected]
�[32;01m * �[39;49;00mUSE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
�[32;01m * �[39;49;00mFEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking rocm-opencl-driver-2.7.0.tar.gz to /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work
>>> Source unpacked in /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work
>>> Preparing source in /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0 ...
�[32;01m*�[0m Applying rocm-opencl-driver-2.6.0-install-correctly.patch ...
�[A�[230C �[34;01m[ �[32;01mok�[34;01m ]�[0m
�[32;01m*�[0m Applying rocm-opencl-driver-2.6.0-install-header.patch ...
�[A�[230C �[34;01m[ �[32;01mok�[34;01m ]�[0m
�[32;01m*�[0m Hardcoded definition(s) removed in CMakeLists.txt:
�[32;01m*�[0m set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/dist CACHE INTERNAL "Prefix pr
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build"
cmake -C /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DLLVM_DIR=/usr/lib/llvm/roc/ -DCMAKE_INSTALL_PREFIX=/usr/ -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build/gentoo_toolchain.cmake /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0
loading initial cache file /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build/gentoo_common_config.cmake
CMake Warning (dev) at gentoo_common_config.cmake:8 (SET):
implicitly converting 'BOOLEAN' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Linker detection: GNU ld
-- <<< Gentoo configuration >>>
Build type Gentoo
Install path /usr
Compiler flags:
C -march=native -O2 -pipe
C++ -march=native -O2 -pipe -std=c++11 -fno-rtti -Wall
Linker flags:
Executable -Wl,-O1 -Wl,--as-needed
Module -Wl,-O1 -Wl,--as-needed
Shared -Wl,-O1 -Wl,--as-needed
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build"
ninja -v -j6 -l0
[1/4] /usr/bin/x86_64-pc-linux-gnu-g++ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/roc/include -I/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver -DNDEBUG -march=native -O2 -pipe -std=c++11 -fno-rtti -Wall -MD -MT src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o -MF src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o.d -o src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o -c /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/roc-cl/roc-cl.cpp
FAILED: src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o
/usr/bin/x86_64-pc-linux-gnu-g++ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/roc/include -I/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver -DNDEBUG -march=native -O2 -pipe -std=c++11 -fno-rtti -Wall -MD -MT src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o -MF src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o.d -o src/roc-cl/CMakeFiles/roc-cl.dir/roc-cl.cpp.o -c /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/roc-cl/roc-cl.cpp
In file included from /usr/lib/llvm/roc/include/llvm/ADT/StringRef.h:12,
from /usr/lib/llvm/roc/include/llvm/ADT/StringMap.h:16,
from /usr/lib/llvm/roc/include/llvm/Support/Host.h:16,
from /usr/lib/llvm/roc/include/llvm/ADT/Hashing.h:48,
from /usr/lib/llvm/roc/include/llvm/ADT/ArrayRef.h:12,
from /usr/lib/llvm/roc/include/llvm/Support/CommandLine.h:22,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/roc-cl/roc-cl.cpp:3:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:555:49: error: ‘std::index_sequence’ has not been declared
555 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:555:63: error: expected ‘,’ or ‘...’ before ‘<’ token
555 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:560:36: error: ‘std::index_sequence’ has not been declared
560 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:560:50: error: expected ‘,’ or ‘...’ before ‘<’ token
560 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:565:36: error: ‘std::index_sequence’ has not been declared
565 | decltype(iterators) tup_dec(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:565:50: error: expected ‘,’ or ‘...’ before ‘<’ token
565 | decltype(iterators) tup_dec(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_common<ZipType, Iters>::value_type llvm::detail::zip_common<ZipType, Iters>::operator*()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:572:46: error: ‘index_sequence_for’ is not a member of ‘std’
572 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:572:70: error: expected primary-expression before ‘...’ token
572 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘const value_type llvm::detail::zip_common<ZipType, Iters>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:575:23: error: ‘index_sequence_for’ is not a member of ‘std’
575 | return deref(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:575:47: error: expected primary-expression before ‘...’ token
575 | return deref(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ZipType& llvm::detail::zip_common<ZipType, Iters>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:579:30: error: ‘index_sequence_for’ is not a member of ‘std’
579 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:579:54: error: expected primary-expression before ‘...’ token
579 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ZipType& llvm::detail::zip_common<ZipType, Iters>::operator--()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:586:30: error: ‘index_sequence_for’ is not a member of ‘std’
586 | iterators = tup_dec(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:586:54: error: expected primary-expression before ‘...’ token
586 | iterators = tup_dec(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:606:18: error: ‘std::index_sequence’ has not been declared
606 | std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:606:32: error: expected ‘,’ or ‘...’ before ‘<’ token
606 | std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘bool llvm::detail::zip_shortest<Iters>::operator==(const llvm::detail::zip_shortest<Iters>&) const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:618:30: error: ‘index_sequence_for’ is not a member of ‘std’
618 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:618:54: error: expected primary-expression before ‘...’ token
618 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:635:28: error: ‘std::index_sequence’ has not been declared
635 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:635:42: error: expected ‘,’ or ‘...’ before ‘<’ token
635 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:638:50: error: ‘std::index_sequence’ has not been declared
638 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:638:64: error: expected ‘,’ or ‘...’ before ‘<’ token
638 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zippy<ItType, Args>::iterator llvm::detail::zippy<ItType, Args>::begin() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:646:28: error: ‘index_sequence_for’ is not a member of ‘std’
646 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:646:51: error: expected primary-expression before ‘...’ token
646 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zippy<ItType, Args>::iterator llvm::detail::zippy<ItType, Args>::end() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:648:47: error: ‘index_sequence_for’ is not a member of ‘std’
648 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:648:70: error: expected primary-expression before ‘...’ token
648 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:718:18: error: ‘std::index_sequence’ has not been declared
718 | std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:718:32: error: expected ‘,’ or ‘...’ before ‘<’ token
718 | std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:725:49: error: ‘std::index_sequence’ has not been declared
725 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:725:63: error: expected ‘,’ or ‘...’ before ‘<’ token
725 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:731:36: error: ‘std::index_sequence’ has not been declared
731 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:731:50: error: expected ‘,’ or ‘...’ before ‘<’ token
731 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>::value_type llvm::detail::zip_longest_iterator<Iters>::operator*()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:741:46: error: ‘index_sequence_for’ is not a member of ‘std’
741 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:741:70: error: expected primary-expression before ‘...’ token
741 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>::value_type llvm::detail::zip_longest_iterator<Iters>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:744:23: error: ‘index_sequence_for’ is not a member of ‘std’
744 | return deref(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:744:47: error: expected primary-expression before ‘...’ token
744 | return deref(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>& llvm::detail::zip_longest_iterator<Iters>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:748:30: error: ‘index_sequence_for’ is not a member of ‘std’
748 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:748:54: error: expected primary-expression before ‘...’ token
748 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘bool llvm::detail::zip_longest_iterator<Iters>::operator==(const llvm::detail::zip_longest_iterator<Iters>&) const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:753:30: error: ‘index_sequence_for’ is not a member of ‘std’
753 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:753:54: error: expected primary-expression before ‘...’ token
753 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:771:28: error: ‘std::index_sequence’ has not been declared
771 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:771:42: error: expected ‘,’ or ‘...’ before ‘<’ token
771 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:776:50: error: ‘std::index_sequence’ has not been declared
776 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:776:64: error: expected ‘,’ or ‘...’ before ‘<’ token
776 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_range<Args>::iterator llvm::detail::zip_longest_range<Args>::begin() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:785:28: error: ‘index_sequence_for’ is not a member of ‘std’
785 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:785:51: error: expected primary-expression before ‘...’ token
785 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_range<Args>::iterator llvm::detail::zip_longest_range<Args>::end() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:787:47: error: ‘index_sequence_for’ is not a member of ‘std’
787 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:787:70: error: expected primary-expression before ‘...’ token
787 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:843:47: error: ‘std::index_sequence’ has not been declared
843 | template <size_t... Ns> void increment(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:843:61: error: expected ‘,’ or ‘...’ before ‘<’ token
843 | template <size_t... Ns> void increment(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:872:44: error: ‘index_sequence’ is not a member of ‘std’
872 | template <size_t... Ns> ValueT &get(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:872:66: error: expected ‘;’ before ‘const’
872 | template <size_t... Ns> ValueT &get(std::index_sequence<Ns...>) const {
| ^~~~~~
| ;
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:883:3: error: data member ‘get’ cannot be a member template
883 | }
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::concat_iterator<ValueT, IterTs>& llvm::concat_iterator<ValueT, IterTs>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:897:20: error: ‘index_sequence_for’ is not a member of ‘std’
897 | increment(std::index_sequence_for<IterTs...>());
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:897:45: error: expected primary-expression before ‘...’ token
897 | increment(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ValueT& llvm::concat_iterator<ValueT, IterTs>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:21: error: ‘index_sequence_for’ is not a member of ‘std’
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:46: error: expected primary-expression before ‘...’ token
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:12: error: there are no arguments to ‘get’ that depend on a template parameter, so a declaration of ‘get’ must be available [-fpermissive]
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:12: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:926:52: error: ‘std::index_sequence’ has not been declared
926 | template <size_t... Ns> iterator begin_impl(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:926:66: error: expected ‘,’ or ‘...’ before ‘<’ token
926 | template <size_t... Ns> iterator begin_impl(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:929:50: error: ‘std::index_sequence’ has not been declared
929 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:929:64: error: expected ‘,’ or ‘...’ before ‘<’ token
929 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::concat_range<ValueT, RangeTs>::iterator llvm::detail::concat_range<ValueT, RangeTs>::begin()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:938:45: error: ‘index_sequence_for’ is not a member of ‘std’
938 | iterator begin() { return begin_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:938:71: error: expected primary-expression before ‘...’ token
938 | iterator begin() { return begin_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::concat_range<ValueT, RangeTs>::iterator llvm::detail::concat_range<ValueT, RangeTs>::end()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:939:41: error: ‘index_sequence_for’ is not a member of ‘std’
939 | iterator end() { return end_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:939:67: error: expected primary-expression before ‘...’ token
939 | iterator end() { return end_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1507:46: error: ‘std::index_sequence’ has not been declared
1507 | auto apply_tuple_impl(F &&f, Tuple &&t, std::index_sequence<I...>)
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1507:60: error: expected ‘,’ or ‘...’ before ‘<’ token
1507 | auto apply_tuple_impl(F &&f, Tuple &&t, std::index_sequence<I...>)
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1520:10: error: ‘make_index_sequence’ is not a member of ‘std’
1520 | std::make_index_sequence<
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1520:10: error: ‘make_index_sequence’ is not a member of ‘std’
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1521:66: error: expected primary-expression before ‘{’ token
1521 | std::tuple_size<typename std::decay<Tuple>::type>::value>{})) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1521:66: error: expected ‘)’ before ‘{’ token
1521 | std::tuple_size<typename std::decay<Tuple>::type>::value>{})) {
| ^
| )
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1518:72: note: to match this ‘(’
1518 | auto apply_tuple(F &&f, Tuple &&t) -> decltype(detail::apply_tuple_impl(
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In function ‘decltype (llvm::detail::apply_tuple_impl(forward<F>(f), forward<Tuple>(t), ((<expression error> < std::tuple_size<typename std::decay<_Func>::type>::value) > <expression error>))) llvm::apply_tuple(F&&, Tuple&&)’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1522:24: error: ‘make_index_sequence’ in namespace ‘std’ does not name a template type
1522 | using Indices = std::make_index_sequence<
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1526:35: error: ‘Indices’ was not declared in this scope
1526 | Indices{});
| ^~~~~~~
[2/4] /usr/bin/x86_64-pc-linux-gnu-g++ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Dopencl_driver_EXPORTS -I/usr/lib/llvm/roc/include -I/usr/lib/llvm/roc/include/llvm/Target/AMDGPU -I/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver -DNDEBUG -march=native -O2 -pipe -std=c++11 -fno-rtti -Wall -fPIC -MD -MT src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o -MF src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o.d -o src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o -c /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp
FAILED: src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o
/usr/bin/x86_64-pc-linux-gnu-g++ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Dopencl_driver_EXPORTS -I/usr/lib/llvm/roc/include -I/usr/lib/llvm/roc/include/llvm/Target/AMDGPU -I/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver -DNDEBUG -march=native -O2 -pipe -std=c++11 -fno-rtti -Wall -fPIC -MD -MT src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o -MF src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o.d -o src/driver/CMakeFiles/opencl_driver.dir/AmdCompiler.cpp.o -c /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp
In file included from /usr/lib/llvm/roc/include/llvm/ADT/StringRef.h:12,
from /usr/lib/llvm/roc/include/llvm/ADT/SmallString.h:17,
from /usr/lib/llvm/roc/include/llvm/Support/FileSystem.h:29,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:6:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:555:49: error: ‘std::index_sequence’ has not been declared
555 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:555:63: error: expected ‘,’ or ‘...’ before ‘<’ token
555 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:560:36: error: ‘std::index_sequence’ has not been declared
560 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:560:50: error: expected ‘,’ or ‘...’ before ‘<’ token
560 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:565:36: error: ‘std::index_sequence’ has not been declared
565 | decltype(iterators) tup_dec(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:565:50: error: expected ‘,’ or ‘...’ before ‘<’ token
565 | decltype(iterators) tup_dec(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_common<ZipType, Iters>::value_type llvm::detail::zip_common<ZipType, Iters>::operator*()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:572:46: error: ‘index_sequence_for’ is not a member of ‘std’
572 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:572:70: error: expected primary-expression before ‘...’ token
572 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘const value_type llvm::detail::zip_common<ZipType, Iters>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:575:23: error: ‘index_sequence_for’ is not a member of ‘std’
575 | return deref(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:575:47: error: expected primary-expression before ‘...’ token
575 | return deref(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ZipType& llvm::detail::zip_common<ZipType, Iters>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:579:30: error: ‘index_sequence_for’ is not a member of ‘std’
579 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:579:54: error: expected primary-expression before ‘...’ token
579 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ZipType& llvm::detail::zip_common<ZipType, Iters>::operator--()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:586:30: error: ‘index_sequence_for’ is not a member of ‘std’
586 | iterators = tup_dec(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:586:54: error: expected primary-expression before ‘...’ token
586 | iterators = tup_dec(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:606:18: error: ‘std::index_sequence’ has not been declared
606 | std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:606:32: error: expected ‘,’ or ‘...’ before ‘<’ token
606 | std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘bool llvm::detail::zip_shortest<Iters>::operator==(const llvm::detail::zip_shortest<Iters>&) const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:618:30: error: ‘index_sequence_for’ is not a member of ‘std’
618 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:618:54: error: expected primary-expression before ‘...’ token
618 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:635:28: error: ‘std::index_sequence’ has not been declared
635 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:635:42: error: expected ‘,’ or ‘...’ before ‘<’ token
635 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:638:50: error: ‘std::index_sequence’ has not been declared
638 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:638:64: error: expected ‘,’ or ‘...’ before ‘<’ token
638 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zippy<ItType, Args>::iterator llvm::detail::zippy<ItType, Args>::begin() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:646:28: error: ‘index_sequence_for’ is not a member of ‘std’
646 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:646:51: error: expected primary-expression before ‘...’ token
646 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zippy<ItType, Args>::iterator llvm::detail::zippy<ItType, Args>::end() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:648:47: error: ‘index_sequence_for’ is not a member of ‘std’
648 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:648:70: error: expected primary-expression before ‘...’ token
648 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:718:18: error: ‘std::index_sequence’ has not been declared
718 | std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:718:32: error: expected ‘,’ or ‘...’ before ‘<’ token
718 | std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:725:49: error: ‘std::index_sequence’ has not been declared
725 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:725:63: error: expected ‘,’ or ‘...’ before ‘<’ token
725 | template <size_t... Ns> value_type deref(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:731:36: error: ‘std::index_sequence’ has not been declared
731 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:731:50: error: expected ‘,’ or ‘...’ before ‘<’ token
731 | decltype(iterators) tup_inc(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>::value_type llvm::detail::zip_longest_iterator<Iters>::operator*()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:741:46: error: ‘index_sequence_for’ is not a member of ‘std’
741 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:741:70: error: expected primary-expression before ‘...’ token
741 | value_type operator*() { return deref(std::index_sequence_for<Iters...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>::value_type llvm::detail::zip_longest_iterator<Iters>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:744:23: error: ‘index_sequence_for’ is not a member of ‘std’
744 | return deref(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:744:47: error: expected primary-expression before ‘...’ token
744 | return deref(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_iterator<Iters>& llvm::detail::zip_longest_iterator<Iters>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:748:30: error: ‘index_sequence_for’ is not a member of ‘std’
748 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:748:54: error: expected primary-expression before ‘...’ token
748 | iterators = tup_inc(std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘bool llvm::detail::zip_longest_iterator<Iters>::operator==(const llvm::detail::zip_longest_iterator<Iters>&) const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:753:30: error: ‘index_sequence_for’ is not a member of ‘std’
753 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:753:54: error: expected primary-expression before ‘...’ token
753 | return !test(other, std::index_sequence_for<Iters...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:771:28: error: ‘std::index_sequence’ has not been declared
771 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:771:42: error: expected ‘,’ or ‘...’ before ‘<’ token
771 | iterator begin_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:776:50: error: ‘std::index_sequence’ has not been declared
776 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:776:64: error: expected ‘,’ or ‘...’ before ‘<’ token
776 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_range<Args>::iterator llvm::detail::zip_longest_range<Args>::begin() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:785:28: error: ‘index_sequence_for’ is not a member of ‘std’
785 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:785:51: error: expected primary-expression before ‘...’ token
785 | return begin_impl(std::index_sequence_for<Args...>{});
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::zip_longest_range<Args>::iterator llvm::detail::zip_longest_range<Args>::end() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:787:47: error: ‘index_sequence_for’ is not a member of ‘std’
787 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:787:70: error: expected primary-expression before ‘...’ token
787 | iterator end() const { return end_impl(std::index_sequence_for<Args...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:843:47: error: ‘std::index_sequence’ has not been declared
843 | template <size_t... Ns> void increment(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:843:61: error: expected ‘,’ or ‘...’ before ‘<’ token
843 | template <size_t... Ns> void increment(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:872:44: error: ‘index_sequence’ is not a member of ‘std’
872 | template <size_t... Ns> ValueT &get(std::index_sequence<Ns...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:872:66: error: expected ‘;’ before ‘const’
872 | template <size_t... Ns> ValueT &get(std::index_sequence<Ns...>) const {
| ^~~~~~
| ;
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:883:3: error: data member ‘get’ cannot be a member template
883 | }
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::concat_iterator<ValueT, IterTs>& llvm::concat_iterator<ValueT, IterTs>::operator++()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:897:20: error: ‘index_sequence_for’ is not a member of ‘std’
897 | increment(std::index_sequence_for<IterTs...>());
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:897:45: error: expected primary-expression before ‘...’ token
897 | increment(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘ValueT& llvm::concat_iterator<ValueT, IterTs>::operator*() const’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:21: error: ‘index_sequence_for’ is not a member of ‘std’
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:46: error: expected primary-expression before ‘...’ token
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:12: error: there are no arguments to ‘get’ that depend on a template parameter, so a declaration of ‘get’ must be available [-fpermissive]
902 | return get(std::index_sequence_for<IterTs...>());
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:902:12: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:926:52: error: ‘std::index_sequence’ has not been declared
926 | template <size_t... Ns> iterator begin_impl(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:926:66: error: expected ‘,’ or ‘...’ before ‘<’ token
926 | template <size_t... Ns> iterator begin_impl(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:929:50: error: ‘std::index_sequence’ has not been declared
929 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:929:64: error: expected ‘,’ or ‘...’ before ‘<’ token
929 | template <size_t... Ns> iterator end_impl(std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::concat_range<ValueT, RangeTs>::iterator llvm::detail::concat_range<ValueT, RangeTs>::begin()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:938:45: error: ‘index_sequence_for’ is not a member of ‘std’
938 | iterator begin() { return begin_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:938:71: error: expected primary-expression before ‘...’ token
938 | iterator begin() { return begin_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In member function ‘llvm::detail::concat_range<ValueT, RangeTs>::iterator llvm::detail::concat_range<ValueT, RangeTs>::end()’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:939:41: error: ‘index_sequence_for’ is not a member of ‘std’
939 | iterator end() { return end_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:939:67: error: expected primary-expression before ‘...’ token
939 | iterator end() { return end_impl(std::index_sequence_for<RangeTs...>{}); }
| ^~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: At global scope:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1507:46: error: ‘std::index_sequence’ has not been declared
1507 | auto apply_tuple_impl(F &&f, Tuple &&t, std::index_sequence<I...>)
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1507:60: error: expected ‘,’ or ‘...’ before ‘<’ token
1507 | auto apply_tuple_impl(F &&f, Tuple &&t, std::index_sequence<I...>)
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1520:10: error: ‘make_index_sequence’ is not a member of ‘std’
1520 | std::make_index_sequence<
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1520:10: error: ‘make_index_sequence’ is not a member of ‘std’
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1521:66: error: expected primary-expression before ‘{’ token
1521 | std::tuple_size<typename std::decay<Tuple>::type>::value>{})) {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1521:66: error: expected ‘)’ before ‘{’ token
1521 | std::tuple_size<typename std::decay<Tuple>::type>::value>{})) {
| ^
| )
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1518:72: note: to match this ‘(’
1518 | auto apply_tuple(F &&f, Tuple &&t) -> decltype(detail::apply_tuple_impl(
| ^
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h: In function ‘decltype (llvm::detail::apply_tuple_impl(forward<F>(f), forward<Tuple>(t), ((<expression error> < std::tuple_size<typename std::decay<_Func>::type>::value) > <expression error>))) llvm::apply_tuple(F&&, Tuple&&)’:
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1522:24: error: ‘make_index_sequence’ in namespace ‘std’ does not name a template type
1522 | using Indices = std::make_index_sequence<
| ^~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/STLExtras.h:1526:35: error: ‘Indices’ was not declared in this scope
1526 | Indices{});
| ^~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/Support/Error.h:27,
from /usr/lib/llvm/roc/include/llvm/Support/FileSystem.h:34,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:6:
/usr/lib/llvm/roc/include/llvm/Support/Format.h: At global scope:
/usr/lib/llvm/roc/include/llvm/Support/Format.h:95:26: error: ‘std::index_sequence’ has not been declared
95 | std::index_sequence<Is...>) const {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/Format.h:95:40: error: expected ‘,’ or ‘...’ before ‘<’ token
95 | std::index_sequence<Is...>) const {
| ^
/usr/lib/llvm/roc/include/llvm/Support/Format.h: In member function ‘int llvm::format_object<Ts>::snprint(char*, unsigned int) const’:
/usr/lib/llvm/roc/include/llvm/Support/Format.h:110:51: error: ‘index_sequence_for’ is not a member of ‘std’
110 | return snprint_tuple(Buffer, BufferSize, std::index_sequence_for<Ts...>());
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/Format.h:110:72: error: expected primary-expression before ‘...’ token
110 | return snprint_tuple(Buffer, BufferSize, std::index_sequence_for<Ts...>());
| ^~~
In file included from /usr/lib/llvm/roc/include/llvm/Support/FileSystem.h:34,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:6:
/usr/lib/llvm/roc/include/llvm/Support/Error.h: In function ‘llvm::Error llvm::make_error(ArgTs&& ...)’:
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:21: error: ‘make_unique’ is not a member of ‘std’
331 | return Error(std::make_unique<ErrT>(std::forward<ArgTs>(Args)...));
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/Error.h:33:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
32 | #include <cstdlib>
+++ |+#include <memory>
33 | #include <functional>
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:15: error: expected primary-expression before ‘(’ token
331 | return Error(std::make_unique<ErrT>(std::forward<ArgTs>(Args)...));
| ^
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:21: error: ‘make_unique’ is not a member of ‘std’
331 | return Error(std::make_unique<ErrT>(std::forward<ArgTs>(Args)...));
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:21: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:37: error: expected primary-expression before ‘>’ token
331 | return Error(std::make_unique<ErrT>(std::forward<ArgTs>(Args)...));
| ^
/usr/lib/llvm/roc/include/llvm/Support/Error.h:331:67: error: expected binary operator before ‘)’ token
331 | return Error(std::make_unique<ErrT>(std::forward<ArgTs>(Args)...));
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Object/ELFObjectFile.h:23,
from /usr/lib/llvm/roc/include/llvm/Target/AMDGPU/Disassembler/CodeObjectDisassembler.h:21,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:21:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In constructor ‘llvm::FeatureBitset::FeatureBitset(const std::array<long unsigned int, 3>&)’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:50:3: error: ‘constexpr’ constructor does not have empty body
50 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In constructor ‘llvm::FeatureBitset::FeatureBitset(std::initializer_list<unsigned int>)’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:57:3: error: ‘constexpr’ constructor does not have empty body
57 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::set(unsigned int) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:67:18: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[(I / 64)]’
67 | Bits[I / 64] = NewBits;
| ~~~~~~~~~~~~~^~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:68:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
68 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:69:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::set(unsigned int) const’ not a return-statement
69 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::reset(unsigned int) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:74:18: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[(I / 64)]’
74 | Bits[I / 64] = NewBits;
| ~~~~~~~~~~~~~^~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:75:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
75 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:76:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::reset(unsigned int) const’ not a return-statement
76 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::flip(unsigned int) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:81:18: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[(I / 64)]’
81 | Bits[I / 64] = NewBits;
| ~~~~~~~~~~~~~^~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:82:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
82 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:83:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::flip(unsigned int) const’ not a return-statement
83 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr bool llvm::FeatureBitset::operator[](unsigned int) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:88:3: error: body of ‘constexpr’ function ‘constexpr bool llvm::FeatureBitset::operator[](unsigned int) const’ not a return-statement
88 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator^=(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:107:15: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[I]’
107 | Bits[I] ^= RHS.Bits[I];
| ~~~~~~~~^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:109:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
109 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:110:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator^=(const llvm::FeatureBitset&) const’ not a return-statement
110 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator^(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:115:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator^(const llvm::FeatureBitset&) const’ not a return-statement
115 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator&=(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:119:15: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[I]’
119 | Bits[I] &= RHS.Bits[I];
| ~~~~~~~~^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:121:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
121 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:122:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator&=(const llvm::FeatureBitset&) const’ not a return-statement
122 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator&(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:127:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator&(const llvm::FeatureBitset&) const’ not a return-statement
127 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator|=(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:131:15: error: assignment of read-only location ‘((const llvm::FeatureBitset*)this)->llvm::FeatureBitset::Bits[I]’
131 | Bits[I] |= RHS.Bits[I];
| ~~~~~~~~^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:133:12: error: binding reference of type ‘llvm::FeatureBitset&’ to ‘const llvm::FeatureBitset’ discards qualifiers
133 | return *this;
| ^~~~~
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:134:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset& llvm::FeatureBitset::operator|=(const llvm::FeatureBitset&) const’ not a return-statement
134 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator|(const llvm::FeatureBitset&) const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:139:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator|(const llvm::FeatureBitset&) const’ not a return-statement
139 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In member function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator~() const’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:146:3: error: body of ‘constexpr’ function ‘constexpr llvm::FeatureBitset llvm::FeatureBitset::operator~() const’ not a return-statement
146 | }
| ^
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h: In constructor ‘constexpr llvm::FeatureBitArray::FeatureBitArray(const std::array<long unsigned int, 3>&)’:
/usr/lib/llvm/roc/include/llvm/MC/SubtargetFeature.h:168:24: error: call to non-‘constexpr’ function ‘llvm::FeatureBitset::FeatureBitset(const std::array<long unsigned int, 3>&)’
168 | : FeatureBitset(B) {}
| ^
In file included from /usr/lib/llvm/roc/include/clang/AST/Type.h:48,
from /usr/lib/llvm/roc/include/clang/AST/DeclarationName.h:16,
from /usr/lib/llvm/roc/include/clang/AST/DeclBase.h:18,
from /usr/lib/llvm/roc/include/clang/AST/Decl.h:18,
from /usr/lib/llvm/roc/include/clang/AST/ASTTypeTraits.h:19,
from /usr/lib/llvm/roc/include/clang/AST/ASTContext.h:18,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/llvm/Support/TrailingObjects.h: In static member function ‘static void llvm::TrailingObjects<BaseTy, TrailingTys>::verifyTrailingObjectsAssertions()’:
/usr/lib/llvm/roc/include/llvm/Support/TrailingObjects.h:252:24: error: ‘is_final’ is not a member of ‘std’
252 | static_assert(std::is_final<BaseTy>(), "BaseTy must be final.");
| ^~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/TrailingObjects.h:252:39: error: expected primary-expression before ‘>’ token
252 | static_assert(std::is_final<BaseTy>(), "BaseTy must be final.");
| ^
/usr/lib/llvm/roc/include/llvm/Support/TrailingObjects.h:252:41: error: expected primary-expression before ‘)’ token
252 | static_assert(std::is_final<BaseTy>(), "BaseTy must be final.");
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>, 3, llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> > >’
/usr/lib/llvm/roc/include/clang/AST/Type.h:970:29: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::Type*, const clang::ExtQuals*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::Type*, const clang::ExtQuals*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>, 3, llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> > >’:
/usr/lib/llvm/roc/include/clang/AST/Type.h:970:29: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(7 << 18446744073709551613)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/clang/AST/Expr.h:27,
from /usr/lib/llvm/roc/include/clang/AST/OpenMPClause.h:21,
from /usr/lib/llvm/roc/include/clang/AST/ASTTypeTraits.h:21,
from /usr/lib/llvm/roc/include/clang/AST/ASTContext.h:18,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/clang/Basic/SyncScope.h: In static member function ‘static std::unique_ptr<clang::AtomicScopeModel> clang::AtomicScopeModel::create(clang::AtomicScopeModelKind)’:
/usr/lib/llvm/roc/include/clang/Basic/SyncScope.h:147:17: error: ‘make_unique’ is not a member of ‘std’
147 | return std::make_unique<AtomicScopeOpenCLModel>();
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/clang/Basic/SyncScope.h:1:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
+++ |+#include <memory>
1 | //===--- SyncScope.h - Atomic synchronization scopes ------------*- C++ -*-===//
/usr/lib/llvm/roc/include/clang/Basic/SyncScope.h:147:51: error: expected primary-expression before ‘>’ token
147 | return std::make_unique<AtomicScopeOpenCLModel>();
| ^
/usr/lib/llvm/roc/include/clang/Basic/SyncScope.h:147:53: error: expected primary-expression before ‘)’ token
147 | return std::make_unique<AtomicScopeOpenCLModel>();
| ^
In file included from /usr/lib/llvm/roc/include/clang/AST/TypeLoc.h:17,
from /usr/lib/llvm/roc/include/clang/AST/ASTTypeTraits.h:24,
from /usr/lib/llvm/roc/include/clang/AST/ASTContext.h:18,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/clang/AST/Attr.h: In static member function ‘static clang::ParamIdx clang::ParamIdx::deserialize(clang::ParamIdx::SerialType)’:
/usr/lib/llvm/roc/include/clang/AST/Attr.h:262:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
262 | ParamIdx P(*reinterpret_cast<ParamIdx *>(&S));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/clang/AST/Attr.h:262:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
In file included from /usr/lib/llvm/roc/include/llvm/PassRegistry.h:23,
from /usr/lib/llvm/roc/include/llvm/PassSupport.h:25,
from /usr/lib/llvm/roc/include/llvm/Pass.h:364,
from /usr/lib/llvm/roc/include/llvm/IR/DataLayout.h:28,
from /usr/lib/llvm/roc/include/clang/Basic/TargetInfo.h:29,
from /usr/lib/llvm/roc/include/clang/AST/ASTContext.h:44,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: At global scope:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:101:8: error: ‘shared_timed_mutex’ in namespace ‘std’ does not name a type
101 | std::shared_timed_mutex impl;
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:101:3: note: ‘std::shared_timed_mutex’ is only available from C++14 onwards
101 | std::shared_timed_mutex impl;
| ^~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: In member function ‘bool llvm::sys::SmartRWMutex<mt_only>::lock_shared()’:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:112:7: error: ‘impl’ was not declared in this scope
112 | impl.lock_shared();
| ^~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: In member function ‘bool llvm::sys::SmartRWMutex<mt_only>::unlock_shared()’:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:124:7: error: ‘impl’ was not declared in this scope
124 | impl.unlock_shared();
| ^~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: In member function ‘bool llvm::sys::SmartRWMutex<mt_only>::lock()’:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:137:7: error: ‘impl’ was not declared in this scope
137 | impl.lock();
| ^~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: In member function ‘bool llvm::sys::SmartRWMutex<mt_only>::unlock()’:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:150:7: error: ‘impl’ was not declared in this scope
150 | impl.unlock();
| ^~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h: At global scope:
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:167:38: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
167 | using SmartScopedReader = const std::shared_lock<SmartRWMutex<mt_only>>;
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:167:32: error: expected ‘;’
167 | using SmartScopedReader = const std::shared_lock<SmartRWMutex<mt_only>>;
| ^~~~
| ;
/usr/lib/llvm/roc/include/llvm/Support/RWMutex.h:179:9: error: ‘SmartScopedReader’ does not name a type
179 | typedef SmartScopedReader<false> ScopedReader;
| ^~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:48,
from /usr/lib/llvm/roc/include/clang/Frontend/PrecompiledPreamble.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:30,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/llvm/Support/Registry.h: In static member function ‘static std::unique_ptr<ErrT> llvm::Registry<T>::Add<V>::CtorFn()’:
/usr/lib/llvm/roc/include/llvm/Support/Registry.h:118:56: error: ‘make_unique’ is not a member of ‘std’
118 | static std::unique_ptr<T> CtorFn() { return std::make_unique<V>(); }
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/Support/Registry.h:21:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
20 | #include "llvm/Support/DynamicLibrary.h"
+++ |+#include <memory>
21 | #include <memory>
/usr/lib/llvm/roc/include/llvm/Support/Registry.h:118:69: error: expected primary-expression before ‘>’ token
118 | static std::unique_ptr<T> CtorFn() { return std::make_unique<V>(); }
| ^
/usr/lib/llvm/roc/include/llvm/Support/Registry.h:118:71: error: expected primary-expression before ‘)’ token
118 | static std::unique_ptr<T> CtorFn() { return std::make_unique<V>(); }
| ^
In file included from /usr/lib/llvm/roc/include/clang/Frontend/PrecompiledPreamble.h:17,
from /usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:30,
from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h: In member function ‘void clang::Preprocessor::addPPCallbacks(std::unique_ptr<clang::PPCallbacks>)’:
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:997:16: error: ‘make_unique’ is not a member of ‘std’
997 | C = std::make_unique<PPChainedCallbacks>(std::move(C),
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:50:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
49 | #include <cassert>
+++ |+#include <memory>
50 | #include <cstddef>
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:997:46: error: expected primary-expression before ‘>’ token
997 | C = std::make_unique<PPChainedCallbacks>(std::move(C),
| ^
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h: In member function ‘void clang::Preprocessor::EnterToken(const clang::Token&, bool)’:
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1474:27: error: ‘make_unique’ is not a member of ‘std’
1474 | auto TokCopy = std::make_unique<Token[]>(1);
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1474:27: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1474:44: error: expected primary-expression before ‘[’ token
1474 | auto TokCopy = std::make_unique<Token[]>(1);
| ^
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1474:45: error: expected primary-expression before ‘]’ token
1474 | auto TokCopy = std::make_unique<Token[]>(1);
| ^
In file included from /usr/lib/llvm/roc/include/clang/Frontend/FrontendAction.h:23,
from /usr/lib/llvm/roc/include/clang/CodeGen/CodeGenAction.h:12,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:47:
/usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h: In member function ‘clang::CodeCompletionTUInfo& clang::ASTUnit::getCodeCompletionTUInfo()’:
/usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:318:23: error: ‘make_unique’ is not a member of ‘std’
318 | CCTUInfo = std::make_unique<CodeCompletionTUInfo>(
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:42:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
41 | #include <cassert>
+++ |+#include <memory>
42 | #include <cstddef>
/usr/lib/llvm/roc/include/clang/Frontend/ASTUnit.h:318:55: error: expected primary-expression before ‘>’ token
318 | CCTUInfo = std::make_unique<CodeCompletionTUInfo>(
| ^
In file included from /usr/lib/llvm/roc/include/llvm/IR/Module.h:23,
from /usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:27,
from /usr/lib/llvm/roc/include/clang/CodeGen/BackendUtil.h:13,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:48:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: At global scope:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:708:47: error: wrong number of template arguments (0, should be 1)
708 | std::map<std::string, std::string, std::less<>> TargetDepAttrs;
| ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/string:48,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.h:4,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/bits/stl_function.h:381:12: note: provided for ‘template<class _Tp> struct std::less’
381 | struct less : public binary_function<_Tp, _Tp, bool>
| ^~~~
In file included from /usr/lib/llvm/roc/include/llvm/IR/Module.h:23,
from /usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:27,
from /usr/lib/llvm/roc/include/clang/CodeGen/BackendUtil.h:13,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:48:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:708:48: error: template argument 3 is invalid
708 | std::map<std::string, std::string, std::less<>> TargetDepAttrs;
| ^~
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: In member function ‘llvm::AttrBuilder::td_iterator llvm::AttrBuilder::td_begin()’:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:837:50: error: request for member ‘begin’ in ‘((llvm::AttrBuilder*)this)->llvm::AttrBuilder::TargetDepAttrs’, which is of non-class type ‘int’
837 | td_iterator td_begin() { return TargetDepAttrs.begin(); }
| ^~~~~
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: In member function ‘llvm::AttrBuilder::td_iterator llvm::AttrBuilder::td_end()’:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:838:48: error: request for member ‘end’ in ‘((llvm::AttrBuilder*)this)->llvm::AttrBuilder::TargetDepAttrs’, which is of non-class type ‘int’
838 | td_iterator td_end() { return TargetDepAttrs.end(); }
| ^~~
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: In member function ‘llvm::AttrBuilder::td_const_iterator llvm::AttrBuilder::td_begin() const’:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:840:62: error: request for member ‘begin’ in ‘((const llvm::AttrBuilder*)this)->llvm::AttrBuilder::TargetDepAttrs’, which is of non-class type ‘const int’
840 | td_const_iterator td_begin() const { return TargetDepAttrs.begin(); }
| ^~~~~
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: In member function ‘llvm::AttrBuilder::td_const_iterator llvm::AttrBuilder::td_end() const’:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:841:60: error: request for member ‘end’ in ‘((const llvm::AttrBuilder*)this)->llvm::AttrBuilder::TargetDepAttrs’, which is of non-class type ‘const int’
841 | td_const_iterator td_end() const { return TargetDepAttrs.end(); }
| ^~~
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h: In member function ‘bool llvm::AttrBuilder::td_empty() const’:
/usr/lib/llvm/roc/include/llvm/IR/Attributes.h:849:49: error: request for member ‘empty’ in ‘((const llvm::AttrBuilder*)this)->llvm::AttrBuilder::TargetDepAttrs’, which is of non-class type ‘const int’
849 | bool td_empty() const { return TargetDepAttrs.empty(); }
| ^~~~~
In file included from /usr/lib/llvm/roc/include/llvm/IR/TrackingMDRef.h:16,
from /usr/lib/llvm/roc/include/llvm/IR/DebugLoc.h:17,
from /usr/lib/llvm/roc/include/llvm/IR/Instruction.h:21,
from /usr/lib/llvm/roc/include/llvm/IR/BasicBlock.h:22,
from /usr/lib/llvm/roc/include/llvm/IR/Function.h:27,
from /usr/lib/llvm/roc/include/llvm/IR/Module.h:26,
from /usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:27,
from /usr/lib/llvm/roc/include/clang/CodeGen/BackendUtil.h:13,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:48:
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h: In member function ‘llvm::ReplaceableMetadataImpl* llvm::ContextAndReplaceableUses::getOrCreateReplaceableUses()’:
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h:809:28: error: ‘make_unique’ is not a member of ‘std’
809 | makeReplaceable(std::make_unique<ReplaceableMetadataImpl>(getContext()));
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h:160:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
159 | #include "llvm/IR/Metadata.def"
+++ |+#include <memory>
160 |
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h:809:63: error: expected primary-expression before ‘>’ token
809 | makeReplaceable(std::make_unique<ReplaceableMetadataImpl>(getContext()));
| ^
In file included from /usr/lib/llvm/roc/include/clang/CodeGen/BackendUtil.h:13,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:48:
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h: In constructor ‘llvm::FunctionSummary::FunctionSummary(llvm::GlobalValueSummary::GVFlags, unsigned int, llvm::FunctionSummary::FFlags, uint64_t, std::vector<llvm::ValueInfo>, std::vector<std::pair<llvm::ValueInfo, llvm::CalleeInfo> >, std::vector<long unsigned int>, std::vector<llvm::FunctionSummary::VFuncId>, std::vector<llvm::FunctionSummary::VFuncId>, std::vector<llvm::FunctionSummary::ConstVCall>, std::vector<llvm::FunctionSummary::ConstVCall>)’:
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:606:22: error: ‘make_unique’ is not a member of ‘std’
606 | TIdInfo = std::make_unique<TypeIdInfo>(TypeIdInfo{
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:35:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
34 | #include <cassert>
+++ |+#include <memory>
35 | #include <cstddef>
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:606:44: error: expected primary-expression before ‘>’ token
606 | TIdInfo = std::make_unique<TypeIdInfo>(TypeIdInfo{
| ^
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h: In member function ‘void llvm::FunctionSummary::addTypeTest(llvm::GlobalValue::GUID)’:
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:685:22: error: ‘make_unique’ is not a member of ‘std’
685 | TIdInfo = std::make_unique<TypeIdInfo>();
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:685:22: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:685:44: error: expected primary-expression before ‘>’ token
685 | TIdInfo = std::make_unique<TypeIdInfo>();
| ^
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:685:46: error: expected primary-expression before ‘)’ token
685 | TIdInfo = std::make_unique<TypeIdInfo>();
| ^
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h: In member function ‘void llvm::GlobalVarSummary::setVTableFuncs(llvm::VTableFuncList)’:
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:785:24: error: ‘make_unique’ is not a member of ‘std’
785 | VTableFuncs = std::make_unique<VTableFuncList>(std::move(Funcs));
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:785:24: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:785:50: error: expected primary-expression before ‘>’ token
785 | VTableFuncs = std::make_unique<VTableFuncList>(std::move(Funcs));
| ^
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h: In static member function ‘static llvm::GraphTraits<llvm::ValueInfo>::NodeRef llvm::GraphTraits<llvm::ModuleSummaryIndex*>::getEntryNode(llvm::ModuleSummaryIndex*)’:
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:1422:14: error: ‘make_unique’ is not a member of ‘std’
1422 | std::make_unique<FunctionSummary>(I->calculateCallGraphRoot());
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:1422:14: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/llvm/IR/ModuleSummaryIndex.h:1422:41: error: expected primary-expression before ‘>’ token
1422 | std::make_unique<FunctionSummary>(I->calculateCallGraphRoot());
| ^
In file included from /usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:56,
from /usr/lib/llvm/roc/include/llvm/IR/PassManager.h:46,
from /usr/lib/llvm/roc/include/llvm/IR/Verifier.h:24,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:53:
/usr/lib/llvm/roc/include/llvm/ADT/Any.h: In member function ‘std::unique_ptr<llvm::Any::StorageBase> llvm::Any::StorageImpl<T>::clone() const’:
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:41:19: error: ‘make_unique’ is not a member of ‘std’
41 | return std::make_unique<StorageImpl<T>>(Value);
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:21:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
20 | #include <cassert>
+++ |+#include <memory>
21 | #include <memory>
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:41:44: error: expected primary-expression before ‘>’ token
41 | return std::make_unique<StorageImpl<T>>(Value);
| ^~
/usr/lib/llvm/roc/include/llvm/ADT/Any.h: In constructor ‘llvm::Any::Any(T&&)’:
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:81:20: error: ‘make_unique’ is not a member of ‘std’
81 | Storage = std::make_unique<StorageImpl<U>>(std::forward<T>(Value));
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:81:20: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
/usr/lib/llvm/roc/include/llvm/ADT/Any.h:81:45: error: expected primary-expression before ‘>’ token
81 | Storage = std::make_unique<StorageImpl<U>>(std::forward<T>(Value));
| ^~
In file included from /usr/lib/llvm/roc/include/llvm/IR/PassManager.h:47,
from /usr/lib/llvm/roc/include/llvm/IR/Verifier.h:24,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:53:
/usr/lib/llvm/roc/include/llvm/IR/PassManagerInternal.h: In member function ‘std::unique_ptr<llvm::detail::AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT> > llvm::detail::AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs>::run(IRUnitT&, llvm::AnalysisManager<IRUnitT, ExtraArgTs ...>&, ExtraArgTs ...)’:
/usr/lib/llvm/roc/include/llvm/IR/PassManagerInternal.h:292:17: error: ‘make_unique’ is not a member of ‘std’
292 | return std::make_unique<ResultModelT>(
| ^~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/PassManagerInternal.h:1:1: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
+++ |+#include <memory>
1 | //===- PassManager internal APIs and implementation details -----*- C++ -*-===//
/usr/lib/llvm/roc/include/llvm/IR/PassManagerInternal.h:292:41: error: expected primary-expression before ‘>’ token
292 | return std::make_unique<ResultModelT>(
| ^
In file included from /usr/lib/llvm/roc/include/llvm/IR/Verifier.h:24,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:53:
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h: At global scope:
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h:421:35: error: ‘std::index_sequence’ has not been declared
421 | std::index_sequence<Ns...>) {
| ^~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h:421:49: error: expected ‘,’ or ‘...’ before ‘<’ token
421 | std::index_sequence<Ns...>) {
| ^
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h: In function ‘typename PassT::Result llvm::detail::getAnalysisResult(llvm::AnalysisManager<IRUnitT, AnalysisArgTs ...>&, IRUnitT&, std::tuple<ArgTs ...>)’:
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h:438:33: error: ‘index_sequence_for’ is not a member of ‘std’
438 | std::index_sequence_for<AnalysisArgTs...>{});
| ^~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/IR/PassManager.h:438:65: error: expected primary-expression before ‘...’ token
438 | std::index_sequence_for<AnalysisArgTs...>{});
| ^~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp: In member function ‘std::unique_ptr<llvm::raw_fd_ostream> amd::opencl_driver::AMDGPUCompiler::GetAssemblerOutputStream(amd::opencl_driver::AMDGPUCompiler::AssemblerInvocation&, bool)’:
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:486:20: error: ‘make_unique’ is not a member of ‘llvm’
486 | auto Out = llvm::make_unique<raw_fd_ostream>(Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:486:46: error: expected primary-expression before ‘>’ token
486 | auto Out = llvm::make_unique<raw_fd_ostream>(Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:486:53: warning: left operand of comma operator has no effect [-Wunused-value]
486 | auto Out = llvm::make_unique<raw_fd_ostream>(Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
| ~~~~~^~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:486:112: warning: right operand of comma operator has no effect [-Wunused-value]
486 | auto Out = llvm::make_unique<raw_fd_ostream>(Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp: In member function ‘bool amd::opencl_driver::AMDGPUCompiler::ExecuteAssembler(amd::opencl_driver::AMDGPUCompiler::AssemblerInvocation&)’:
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:660:23: error: ‘make_unique’ is not a member of ‘llvm’
660 | auto FOut = llvm::make_unique<formatted_raw_ostream>(*Out);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:660:56: error: expected primary-expression before ‘>’ token
660 | auto FOut = llvm::make_unique<formatted_raw_ostream>(*Out);
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:669:13: error: ‘make_unique’ was not declared in this scope
669 | BOS = make_unique<buffer_ostream>(*FDOS);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:669:39: error: expected primary-expression before ‘>’ token
669 | BOS = make_unique<buffer_ostream>(*FDOS);
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp: In member function ‘virtual bool amd::opencl_driver::AMDGPUCompiler::LinkLLVMBitcode(const std::vector<amd::opencl_driver::Data*>&, amd::opencl_driver::Data*, const std::vector<std::__cxx11::basic_string<char> >&)’:
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1137:15: error: ‘make_unique’ is not a member of ‘llvm’
1137 | llvm::make_unique<AMDGPUCompilerDiagnosticHandler>(this), true);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1137:58: error: expected primary-expression before ‘>’ token
1137 | llvm::make_unique<AMDGPUCompilerDiagnosticHandler>(this), true);
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1138:22: error: ‘make_unique’ was not declared in this scope
1138 | auto Composite = make_unique<llvm::Module>("composite", context);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1138:46: error: expected primary-expression before ‘>’ token
1138 | auto Composite = make_unique<llvm::Module>("composite", context);
| ^
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1138:48: warning: left operand of comma operator has no effect [-Wunused-value]
1138 | auto Composite = make_unique<llvm::Module>("composite", context);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp: In member function ‘virtual bool amd::opencl_driver::AMDGPUCompiler::DumpExecutableAsText(amd::opencl_driver::Buffer*, amd::opencl_driver::File*)’:
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1317:15: error: ‘make_unique’ was not declared in this scope
1317 | auto FOut = make_unique<formatted_raw_ostream>(FO);
| ^~~~~~~~~~~
/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:1317:48: error: expected primary-expression before ‘>’ token
1317 | auto FOut = make_unique<formatted_raw_ostream>(FO);
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:2996:39: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:2996:39: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(3 << 18446744073709551614)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = const clang::DirectoryEntry*; PTs = {const clang::DirectoryEntry*, const clang::FileEntry*}]’
/usr/lib/llvm/roc/include/clang/Basic/Module.h:498:60: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::DirectoryEntry*, const clang::FileEntry*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::DirectoryEntry*, const clang::FileEntry*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::DirectoryEntry*, const clang::FileEntry*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = const clang::DirectoryEntry*; PTs = {const clang::DirectoryEntry*, const clang::FileEntry*}]’
/usr/lib/llvm/roc/include/clang/Basic/Module.h:498:60: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, const clang::ExtQuals*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = const clang::ExtQuals*; PTs = {const clang::Type*, const clang::ExtQuals*}]’
/usr/lib/llvm/roc/include/clang/AST/Type.h:651:52: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>; unsigned int IntBits = 3; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>; unsigned int IntBits = 3; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>, 3, llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Type.h:670:65: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::updateInt(intptr_t, intptr_t) [with PointerT = llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>; unsigned int IntBits = 3; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:67:28: required from ‘void llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::setInt(IntType) [with PointerTy = llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>; unsigned int IntBits = 3; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*>, 3, llvm::PointerLikeTypeTraits<llvm::PointerUnion<const clang::Type*, const clang::ExtQuals*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Type.h:671:67: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:188:52: warning: left shift count >= width of type [-Wshift-count-overflow]
188 | return (OrigValue & ~ShiftedIntMask) | IntWord << IntShift;
| ~~~~~~~~^~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::DeclContext*; PTs = {clang::DeclContext*, clang::Decl::MultipleDC*}]’
/usr/lib/llvm/roc/include/clang/AST/DeclBase.h:269:61: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::DeclContext*, clang::Decl::MultipleDC*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::DeclContext*, clang::Decl::MultipleDC*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::DeclContext*, clang::Decl::MultipleDC*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::DeclContext*; PTs = {clang::DeclContext*, clang::Decl::MultipleDC*}]’
/usr/lib/llvm/roc/include/clang/AST/DeclBase.h:269:61: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::DeclaratorDecl::ExtInfo*; PTs = {clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:701:58: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::DeclaratorDecl::ExtInfo*; PTs = {clang::TypeSourceInfo*, clang::DeclaratorDecl::ExtInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:701:58: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::TypedefNameDecl::ModedTInfo*; PTs = {clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:2996:58: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:3034:32: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::QualifierInfo*; PTs = {clang::TypedefNameDecl*, clang::QualifierInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:3123:77: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypedefNameDecl*, clang::QualifierInfo*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypedefNameDecl*, clang::QualifierInfo*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypedefNameDecl*, clang::QualifierInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::QualifierInfo*; PTs = {clang::TypedefNameDecl*, clang::QualifierInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:3123:77: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::TypeSourceInfo*; PTs = {const clang::Type*, clang::TypeSourceInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:3518:45: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::Type*, clang::TypeSourceInfo*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {const clang::Type*, clang::TypeSourceInfo*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<const clang::Type*, clang::TypeSourceInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::TypeSourceInfo*; PTs = {const clang::Type*, clang::TypeSourceInfo*}]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:3518:45: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::IdentifierInfo*; PTs = {clang::IdentifierInfo*, clang::MacroDefinitionRecord*}]’
/usr/lib/llvm/roc/include/clang/Lex/PreprocessingRecord.h:185:73: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::IdentifierInfo*, clang::MacroDefinitionRecord*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::IdentifierInfo*, clang::MacroDefinitionRecord*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::IdentifierInfo*, clang::MacroDefinitionRecord*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::IdentifierInfo*; PTs = {clang::IdentifierInfo*, clang::MacroDefinitionRecord*}]’
/usr/lib/llvm/roc/include/clang/Lex/PreprocessingRecord.h:185:73: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 2, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 2; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*>; Info = llvm::PointerIntPairInfo<void*, 2, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::TypeSourceInfo*; PTs = {clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*}]’
/usr/lib/llvm/roc/include/clang/AST/DeclCXX.h:2440:44: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 2, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 2; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*>; Info = llvm::PointerIntPairInfo<void*, 2, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::TypeSourceInfo*; PTs = {clang::TypeSourceInfo*, clang::FieldDecl*, clang::IndirectFieldDecl*}]’
/usr/lib/llvm/roc/include/clang/AST/DeclCXX.h:2440:44: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::IdentifierLoc*}]’
/usr/lib/llvm/roc/include/clang/Sema/ParsedAttr.h:467:51: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Expr*, clang::IdentifierLoc*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Expr*, clang::IdentifierLoc*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::IdentifierLoc*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::IdentifierLoc*}]’
/usr/lib/llvm/roc/include/clang/Sema/ParsedAttr.h:467:51: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::MacroDirective*; PTs = {clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:595:57: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::MacroDirective*; PTs = {clang::MacroDirective*, clang::Preprocessor::ModuleMacroInfo*}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:595:57: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = llvm::ReplaceableMetadataImpl*; PTs = {llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*}]’
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h:791:46: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = llvm::ReplaceableMetadataImpl*; PTs = {llvm::LLVMContext*, llvm::ReplaceableMetadataImpl*}]’
/usr/lib/llvm/roc/include/llvm/IR/Metadata.h:791:46: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::updateInt(intptr_t, intptr_t) [with PointerT = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:75:28: required from ‘void llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::setPointerAndInt(PointerTy, IntType) [with PointerTy = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:53:5: required from ‘llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::PointerIntPair(PointerTy, IntType) [with PointerTy = llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>; unsigned int IntBits = 2; IntType = unsigned int; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*>, 2, llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::TypeSourceInfo*, clang::TypedefNameDecl::ModedTInfo*> > >]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:2968:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:188:52: warning: left shift count >= width of type [-Wshift-count-overflow]
188 | return (OrigValue & ~ShiftedIntMask) | IntWord << IntShift;
| ~~~~~~~~^~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::FieldDecl*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:202:5: required from ‘T llvm::PointerUnion<PTs>::dyn_cast() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::FieldDecl*}]’
/usr/lib/llvm/roc/include/clang/AST/Expr.h:4465:57: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Expr*, clang::FieldDecl*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Expr*, clang::FieldDecl*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Expr*, clang::FieldDecl*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::FieldDecl*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:202:5: required from ‘T llvm::PointerUnion<PTs>::dyn_cast() const [with T = clang::Expr*; PTs = {clang::Expr*, clang::FieldDecl*}]’
/usr/lib/llvm/roc/include/clang/AST/Expr.h:4465:57: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::Module*, llvm::SmallVector<clang::Module*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:147:5: required from ‘llvm::TinyPtrVector<EltTy>::operator llvm::MutableArrayRef<T>() [with EltTy = clang::Module*]’
/usr/lib/llvm/roc/include/clang/AST/ASTContext.h:981:22: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Module*, llvm::SmallVector<clang::Module*, 4>*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Module*, llvm::SmallVector<clang::Module*, 4>*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Module*, llvm::SmallVector<clang::Module*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::Module*, llvm::SmallVector<clang::Module*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:147:5: required from ‘llvm::TinyPtrVector<EltTy>::operator llvm::MutableArrayRef<T>() [with EltTy = clang::Module*]’
/usr/lib/llvm/roc/include/clang/AST/ASTContext.h:981:22: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:246:5: required from ‘void llvm::TinyPtrVector<EltTy>::push_back(EltTy) [with EltTy = clang::ParsedAttr*]’
/usr/lib/llvm/roc/include/clang/Sema/ParsedAttr.h:694:25: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::ParsedAttr*, llvm::SmallVector<clang::ParsedAttr*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:246:5: required from ‘void llvm::TinyPtrVector<EltTy>::push_back(EltTy) [with EltTy = clang::ParsedAttr*]’
/usr/lib/llvm/roc/include/clang/Sema/ParsedAttr.h:694:25: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:147:5: required from ‘llvm::TinyPtrVector<EltTy>::operator llvm::MutableArrayRef<T>() [with EltTy = clang::ModuleMacro*]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:646:22: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {clang::ModuleMacro*, llvm::SmallVector<clang::ModuleMacro*, 4>*}]’
/usr/lib/llvm/roc/include/llvm/ADT/TinyPtrVector.h:147:5: required from ‘llvm::TinyPtrVector<EltTy>::operator llvm::MutableArrayRef<T>() [with EltTy = clang::ModuleMacro*]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:646:22: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:228:5: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>& llvm::unique_function<ReturnT(ParamTs ...)>::operator=(llvm::unique_function<ReturnT(ParamTs ...)>&&) [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1007:26: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:228:5: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>& llvm::unique_function<ReturnT(ParamTs ...)>::operator=(llvm::unique_function<ReturnT(ParamTs ...)>&&) [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1007:26: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(1 << 18446744073709551615)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:75:28: required from ‘void llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::setPointerAndInt(PointerTy, IntType) [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:53:5: required from ‘llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::PointerIntPair(PointerTy, IntType) [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:125:16: required from ‘llvm::pointer_union_detail::PointerUnionMembers<Derived, ValTy, I, Type, Types ...>::PointerUnionMembers(Type) [with Derived = llvm::PointerUnion<llvm::MetadataAsValue*, llvm::Metadata*>; ValTy = llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> > >; int I = 1; Type = llvm::Metadata*; Types = {}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:122:17: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::MetadataAsValue*, llvm::Metadata*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::MetadataAsValue*, llvm::Metadata*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:75:28: required from ‘void llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::setPointerAndInt(PointerTy, IntType) [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:53:5: required from ‘llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::PointerIntPair(PointerTy, IntType) [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:125:16: required from ‘llvm::pointer_union_detail::PointerUnionMembers<Derived, ValTy, I, Type, Types ...>::PointerUnionMembers(Type) [with Derived = llvm::PointerUnion<llvm::MetadataAsValue*, llvm::Metadata*>; ValTy = llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::MetadataAsValue*, llvm::Metadata*> > >; int I = 1; Type = llvm::Metadata*; Types = {}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:122:17: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<clang::Decl*, const void*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: required from ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: required from ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> >; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = llvm::PointerUnion<clang::Decl*, const void*>; PTs = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:123:34: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Decl*, const void*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Decl*, const void*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> >::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> >; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = llvm::PointerUnion<clang::Decl*, const void*>; PTs = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:123:34: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> >; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = llvm::PointerUnion<clang::Decl*, const void*>; PTs = {llvm::PointerUnion<clang::Decl*, const void*>, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>}]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:123:34: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, const void*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:188:31: required from ‘int llvm::PointerUnion<PTs>::is() const [with T = clang::Decl*; PTs = {clang::Decl*, const void*}]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:125:29: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = bool; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = bool; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(1 << 18446744073709551615)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(1 << 18446744073709551615)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:237:63: required from ‘struct llvm::PointerLikeTypeTraits<llvm::PointerIntPair<void*, 1, int, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:271:24: required from ‘constexpr const int llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >::NumLowBitsAvailable’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:147:25: error: static assertion failed: PointerIntPair with integer size too large for pointer
147 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: warning: left shift count >= width of type [-Wshift-count-overflow]
162 | ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
| ~~~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:162:42: error: right operand of shift expression ‘(1 << 18446744073709551615)’ is >= than the precision of the left operand [-fpermissive]
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘ShiftedIntMask’ is not an integer constant
149 | enum : uintptr_t {
| ^
In file included from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h: In instantiation of ‘constexpr const int llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*>::NumLowBitsAvailable’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:144:48: required from ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*> >’
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::Decl*; PTs = {clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*}]’
/usr/lib/llvm/roc/include/clang/AST/ExternalASTSource.h:471:34: required from ‘T clang::LazyGenerationalUpdatePtr<Owner, T, Update>::get(Owner) [with Owner = const clang::Decl*; T = clang::Decl*; void (clang::ExternalASTSource::* Update)(Owner) = &clang::ExternalASTSource::CompleteRedeclChain]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:134:62: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:93:72: error: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*}]’ called in a constant expression
93 | static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
| ~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:63:43: note: ‘constexpr int llvm::pointer_union_detail::lowBitsAvailable() [with Ts = {clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*}]’ is not usable as a ‘constexpr’ function because:
63 | template <typename... Ts> constexpr int lowBitsAvailable() {
| ^~~~~~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:64:25: error: call to non-‘constexpr’ function ‘_Tp std::min(std::initializer_list<_Tp>) [with _Tp = int]’
64 | return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:18,
from /usr/lib/llvm/roc/include/llvm/Support/SourceMgr.h:20,
from /usr/lib/llvm/roc/include/llvm/Support/VirtualFileSystem.h:27,
from /var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0/src/driver/AmdCompiler.cpp:12:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:196:56: required from ‘T llvm::PointerUnion<PTs>::get() const [with T = clang::Decl*; PTs = {clang::Decl*, clang::LazyGenerationalUpdatePtr<const clang::Decl*, clang::Decl*, &clang::ExternalASTSource::CompleteRedeclChain>::LazyData*}]’
/usr/lib/llvm/roc/include/clang/AST/ExternalASTSource.h:471:34: required from ‘T clang::LazyGenerationalUpdatePtr<Owner, T, Update>::get(Owner) [with Owner = const clang::Decl*; T = clang::Decl*; void (clang::ExternalASTSource::* Update)(Owner) = &clang::ExternalASTSource::CompleteRedeclChain]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:134:62: required from ‘decl_type* clang::Redeclarable<decl_type>::DeclLink::getPrevious(const decl_type*) const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Redeclarable.h:190:71: required from ‘decl_type* clang::Redeclarable<decl_type>::getNextRedeclaration() const [with decl_type = clang::VarDecl]’
/usr/lib/llvm/roc/include/clang/AST/Decl.h:986:33: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:181:44: required from ‘llvm::PointerUnion<PTs>::operator bool() const [with PTs = {llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:228:5: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>& llvm::unique_function<ReturnT(ParamTs ...)>::operator=(llvm::unique_function<ReturnT(ParamTs ...)>&&) [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1007:26: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(const clang::Token&)>::TrivialCallback*, llvm::unique_function<void(const clang::Token&)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:124:70: required from ‘bool llvm::unique_function<ReturnT(ParamTs ...)>::isInlineStorage() const [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:181:28: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:228:5: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>& llvm::unique_function<ReturnT(ParamTs ...)>::operator=(llvm::unique_function<ReturnT(ParamTs ...)>&&) [with ReturnT = void; ParamTs = {const clang::Token&}]’
/usr/lib/llvm/roc/include/clang/Lex/Preprocessor.h:1007:26: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:181:44: required from ‘llvm::PointerUnion<PTs>::operator bool() const [with PTs = {llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = bool; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<bool(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:124:70: required from ‘bool llvm::unique_function<ReturnT(ParamTs ...)>::isInlineStorage() const [with ReturnT = bool; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:181:28: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = bool; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<bool(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:181:44: required from ‘llvm::PointerUnion<PTs>::operator bool() const [with PTs = {llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef, llvm::Any)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef, llvm::Any)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:124:70: required from ‘bool llvm::unique_function<ReturnT(ParamTs ...)>::isInlineStorage() const [with ReturnT = void; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:181:28: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef, llvm::Any}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef, llvm::Any)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘struct llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:58:57: required from ‘PointerTy llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getPointer() const [with PointerTy = void*; unsigned int IntBits = 1; IntType = int; PtrTraits = llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>; Info = llvm::PointerIntPairInfo<void*, 1, llvm::pointer_union_detail::PointerUnionUIntTraits<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:179:32: required from ‘bool llvm::PointerUnion<PTs>::isNull() const [with PTs = {llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/PointerUnion.h:181:44: required from ‘llvm::PointerUnion<PTs>::operator bool() const [with PTs = {llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:177:9: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:149:8: error: enumerator value for ‘IntShift’ is not an integer constant
149 | enum : uintptr_t {
| ^
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h: In instantiation of ‘static intptr_t llvm::PointerIntPairInfo<PointerT, IntBits, PtrTraits>::getInt(intptr_t) [with PointerT = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >; intptr_t = long int]’:
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:60:56: required from ‘IntType llvm::PointerIntPair<PointerTy, IntBits, IntType, PtrTraits, Info>::getInt() const [with PointerTy = llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>; unsigned int IntBits = 1; IntType = bool; PtrTraits = llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> >; Info = llvm::PointerIntPairInfo<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*>, 1, llvm::PointerLikeTypeTraits<llvm::PointerUnion<llvm::unique_function<void(llvm::StringRef)>::TrivialCallback*, llvm::unique_function<void(llvm::StringRef)>::NonTrivialCallbacks*> > >]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:124:70: required from ‘bool llvm::unique_function<ReturnT(ParamTs ...)>::isInlineStorage() const [with ReturnT = void; ParamTs = {llvm::StringRef}]’
/usr/lib/llvm/roc/include/llvm/ADT/FunctionExtras.h:181:28: required from ‘llvm::unique_function<ReturnT(ParamTs ...)>::~unique_function() [with ReturnT = void; ParamTs = {llvm::StringRef}]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:186:7: required from ‘static void llvm::SmallVectorTemplateBase<T, <anonymous> >::destroy_range(T*, T*) [with T = llvm::unique_function<void(llvm::StringRef)>; bool <anonymous> = false]’
/usr/lib/llvm/roc/include/llvm/ADT/SmallVector.h:843:5: required from ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::unique_function<void(llvm::StringRef)>; unsigned int N = 4]’
/usr/lib/llvm/roc/include/llvm/IR/PassInstrumentation.h:85:34: required from here
/usr/lib/llvm/roc/include/llvm/ADT/PointerIntPair.h:171:19: warning: right shift count >= width of type [-Wshift-count-overflow]
171 | return (Value >> IntShift) & IntMask;
| ~~~~~~~^~~~~~~~~~~~
ninja: build stopped: subcommand failed.
�[31;01m*�[0m ERROR: dev-libs/rocm-opencl-driver-2.7.0::gentoo failed (compile phase):
�[31;01m*�[0m ninja -v -j6 -l0 failed
�[31;01m*�[0m
�[31;01m*�[0m Call stack:
�[31;01m*�[0m ebuild.sh, line 125: Called src_compile
�[31;01m*�[0m environment, line 2058: Called cmake-utils_src_compile
�[31;01m*�[0m environment, line 747: Called cmake-utils_src_make
�[31;01m*�[0m environment, line 928: Called _cmake_ninja_src_make
�[31;01m*�[0m environment, line 482: Called eninja
�[31;01m*�[0m environment, line 1227: Called die
�[31;01m*�[0m The specific snippet of code:
�[31;01m*�[0m "$@" || die "${nonfatal_args[@]}" "${*} failed"
�[31;01m*�[0m
�[31;01m*�[0m If you need support, post the output of `emerge --info '=dev-libs/rocm-opencl-driver-2.7.0::gentoo'`,
�[31;01m*�[0m the complete build log and the output of `emerge -pqv '=dev-libs/rocm-opencl-driver-2.7.0::gentoo'`.
�[31;01m*�[0m The complete build log is located at '/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/temp/build.log'.
�[31;01m*�[0m The ebuild environment file is located at '/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/temp/environment'.
�[31;01m*�[0m Working directory: '/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/rocm-opencl-driver-2.7.0_build'
�[31;01m*�[0m S: '/var/tmp/portage/dev-libs/rocm-opencl-driver-2.7.0/work/ROCm-OpenCL-Driver-roc-2.7.0'
This does look like an LLVM issue, but I don't know.