devel/heimdall: stop attempting to define nullptr
During an exp-run for llvm 14 (see bug 261742), it turned out that
devel/heimdall fails to build with libc++ 14:
In file included from /wrkdirs/usr/ports/devel/heimdall/work/Heimdall-1.4.2/heimdall/source/HelpAction.cpp:24:
In file included from /wrkdirs/usr/ports/devel/heimdall/work/Heimdall-1.4.2/heimdall/source/Interface.h:25:
In file included from /usr/include/c++/v1/map:535:
In file included from /usr/include/c++/v1/__node_handle:63:
In file included from /usr/include/c++/v1/memory:819:
In file included from /usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h:22:
In file included from /usr/include/c++/v1/__memory/uninitialized_algorithms.h:17:
In file included from /usr/include/c++/v1/iterator:591:
In file included from /usr/include/c++/v1/__iterator/common_iterator.h:22:
In file included from /usr/include/c++/v1/variant:204:
/usr/include/c++/v1/__functional/hash.h:174:12: error: no matching constructor for initialization of 'pair<unsigned long, unsigned long>'
return pair<_Size, _Size>(__a + __z, __b + __c);
^ ~~~~~~~~~~~~~~~~~~~~/usr/include/c++/v1/__functional/hash.h:182:12: note: in instantiation of member function 'std::murmur2_or_cityhash<unsigned long, 64>::weak_hash_len_32_with_seeds' requested here
return __weak_hash_len_32_with_seeds(__loadword<_Size>(__s),
^/usr/include/c++/v1/__functional/hash.h:241:28: note: in instantiation of member function 'std::murmur2_or_cityhash<unsigned long, 64>::weak_hash_len_32_with_seeds' requested here
pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z);
^/usr/include/c++/v1/__functional/hash.h:344:16: note: in instantiation of member function 'std::__murmur2_or_cityhash<unsigned long, 64>::operator()' requested here
return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u));
^/usr/include/c++/v1/__functional/hash.h:418:20: note: in instantiation of member function 'std::__scalar_hash<std::_PairT, 2>::operator()' requested here
return _HashT()(__p);
^/usr/include/c++/v1/__utility/pair.h:157:14: note: candidate template ignored: requirement '_CheckArgsDep<true>::__enable_explicit()' was not satisfied [with _Dummy = true]
explicit pair(_T1 const& __t1, _T2 const& __t2)
^[... much more of this ...]
This is because Heimdall.h defines nullptr as a macro with value 0,
which isn't compatible with C++11 or later.
PR: 263176
Approved by: ehaupt (maintainer)
MFH: 2022Q2