The title pretty much explains it all. The code:
#include <tuple>
int main()
{
std::tuple<int> t{1};
}
(Note: the compilation only fails if a value is supplied in the constructor.)
The compilation command is nvc++ test.cpp --c++17
The error is:
"/usr/include/c++/10.2.0/tuple", line 566: error: pack "_UElements" does not
have the same number of elements as "_Elements"
__and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
^
detected during instantiation of "bool
std::tuple<_Elements...>::__nothrow_constructible<_UElement
s...>() [with _Elements=<int>, _UElements=<>]" at line 5 of
"test.cpp"
nvc++ -v:
Export PGI_CURR_CUDA_HOME=/opt/nvidia/hpc_sdk/Linux_x86_64/20.9/cuda/
Export NVCOMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/20.9
Export PGI=/opt/nvidia/hpc_sdk
nvc++-Warning-No files to process
The OS is x86_64 Arch Linux on the LTS kernel.