Subject: [Boost-bugs] [Boost C++ Libraries] #9829: incorrect coding when BOOST_NO_CXX11_RVALUE_REFERENCES is defined
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-04-02 17:36:51
#9829: incorrect coding when BOOST_NO_CXX11_RVALUE_REFERENCES is defined
------------------------------+------------------------------
Reporter: melanie.blower@⦠| Type: Bugs
Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.54.0
Severity: Problem | Keywords:
------------------------------+------------------------------
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
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9829> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC