id summary reporter owner description type status milestone component version severity resolution keywords cc 9829 incorrect coding when BOOST_NO_CXX11_RVALUE_REFERENCES is defined melanie.blower@… John Maddock "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<, 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]"" 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]"" 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]"" 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::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::reference HPHP::JIT::StateVector::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::reference HPHP::JIT::StateVector::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 " Bugs closed To Be Determined config Boost 1.54.0 Problem invalid