#9829 closed Bugs (invalid)
incorrect coding when BOOST_NO_CXX11_RVALUE_REFERENCES is defined
Reported by: | Owned by: | John Maddock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | config |
Version: | Boost 1.54.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Hello! I'm trying to compile hhvm (hip hop vm) with the Intel compiler using gcc 4.8.2 headers, and boost 1.54
This version of boost, configured for the Intel compiler, defines BOOST_NO_CXX11_RVALUE_REFERENCES, and the substitute code which is supplied for this configuration is incorrect. It causes a compilation problem in hhvm. I confirmed that by attempting to compile the file using g++ and -DDBOOST_NO_CXX11_RVALUE_REFERENCES, and g++ reports the same issue.
/nfs/ins/proj/icl/rdrive/ref/gcc/4.8.2/rhel60/efi2/bin/../include/c++/4.8.2/bits/stl_algobase.h(682) : error: no operator "=" matches these operands
operand types are: HPHP::JIT::RegAllocInfo::RegMap = const HPHP::JIT::RegAllocInfo::RegMap
*first = value;
detected during:
instantiation of "gnu_cxx::enable_if<<expression>, void>::type std::fill_a(_Forw
ardIterator, _ForwardIterator, const _Tp &) [with _ForwardIterator=HPHP::JIT::RegAllocInfo::RegMap * , _Tp=HPHP::JIT::RegAllocInfo::RegMap]" at line 729
instantiation of "void std::fill(_ForwardIterator, _ForwardIterator, const _Tp &) [with
_ForwardIterator=HPHP::JIT::RegAllocInfo::RegMap *, _Tp=HPHP::JIT::RegAllocInfo::RegMap]" at line 46 2 of "/nfs/ins/proj/icl/rdrive/ref/gcc/4.8.2/rhel60/efi2/bin/../include/c++/4.8.2/bits/vector.tcc"
instantiation of "void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>
::iterator, std::vector<_Tp, _Alloc>::size_type={std::size_t={unsigned long}}, const std::vector<_Tp , _Alloc>::value_type &) [with _Tp=HPHP::JIT::RegAllocInfo::RegMap, _Alloc=HPHP::smart::Allocator<HP HP::JIT::RegAllocInfo::RegMap>]" at line 1024 of "/nfs/ins/proj/icl/rdrive/ref/gcc/4.8.2/rhel60/efi2 /bin/../include/c++/4.8.2/bits/stl_vector.h"
instantiation of "void std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::iterat
or, std::vector<_Tp, _Alloc>::size_type={std::size_t={unsigned long}}, const std::vector<_Tp, _Alloc
::value_type &) [with _Tp=HPHP::JIT::RegAllocInfo::RegMap, _Alloc=HPHP::smart::Allocator<HPHP::JIT:
:RegAllocInfo::RegMap>]" at line 687 of "/nfs/ins/proj/icl/rdrive/ref/gcc/4.8.2/rhel60/efi2/bin/../i nclude/c++/4.8.2/bits/stl_vector.h"
instantiation of "void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_t
ype={std::size_t={unsigned long}}, const std::vector<_Tp, _Alloc>::value_type &) [with _Tp=HPHP::JIT ::RegAllocInfo::RegMap, _Alloc=HPHP::smart::Allocator<HPHP::JIT::RegAllocInfo::RegMap>]" at line 100
of "/nfs/ins/proj/icl/cg/users/xxx/work/workloads/hhvm.icc/hhvm/hphp/runtime/vm/jit/state
-vector.h"
instantiation of "void HPHP::JIT::StateVector<Key, Info>::grow() [with Key=HPHP::JIT::IR
Instruction, Info=HPHP::JIT::RegAllocInfo::RegMap]" at line 76 of "/nfs/ins/proj/icl/cg/users/xxx/work/workloads/hhvm.icc/hhvm/hphp/runtime/vm/jit/state-vector.h"
instantiation of "HPHP::JIT::StateVector<Key, Info>::reference HPHP::JIT::StateVector<Ke
y, Info>::operator[](uint32_t={unsigned int}) [with Key=HPHP::JIT::IRInstruction, Info=HPHP::JIT::Re gAllocInfo::RegMap]" at line 86 of "/nfs/ins/proj/icl/cg/users/xxx/work/workloads/hhvm.icc /hhvm/hphp/runtime/vm/jit/state-vector.h"
instantiation of "HPHP::JIT::StateVector<Key, Info>::reference HPHP::JIT::StateVector<Ke
y, Info>::operator[](const Key *) [with Key=HPHP::JIT::IRInstruction, Info=HPHP::JIT::RegAllocInfo:: RegMap]" at line 63 of "/nfs/ins/proj/icl/cg/users/xxx/work/workloads/hhvm.icc/hhvm/hphp/r untime/vm/jit/reg-alloc.h"
In a separate ticket I'll file requests to modify the availability of rvalue references based on Intel compiler version (or EDG symbols). The currently available Intel compiler does provide rvalue references
Attaching the preprocessed output from the Intel compiler
Thanks and regards, Melanie
Change History (6)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
What substitute code? There's no reference to Boost at all in that error message. You'll need to be more specific.
comment:3 by , 8 years ago
Component: | None → config |
---|---|
Owner: | set to |
comment:4 by , 8 years ago
You need to provide a reduced test case *using Boost only*, without that we simply have no idea what you're talking about.
comment:5 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Closing down: please reopen if you have a test case for us, thanks.
comment:6 by , 7 years ago
I believe that ticket #11815 may be a manifestation of the same issue. Adding a comment to establish the cross-reference and notify the original reporter.
Actually the file is too big to attach