You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Steve Huston (JIRA)" <qp...@incubator.apache.org> on 2009/01/13 23:00:59 UTC

[jira] Resolved: (QPID-1458) C++ common compile error in VC9 Release mode

     [ https://issues.apache.org/jira/browse/QPID-1458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston resolved QPID-1458.
--------------------------------

    Resolution: Fixed
      Assignee: Steve Huston

Patch applied and tested on Windows and Linux.
Fixed in svn trunk r734251.

> C++ common compile error in VC9 Release mode
> --------------------------------------------
>
>                 Key: QPID-1458
>                 URL: https://issues.apache.org/jira/browse/QPID-1458
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows, Visual Studio 2008 (VC9)
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>         Attachments: QPID-1458.diff
>
>
> When building C++ common library in Release mode, the following compile errors appear:
> 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(419) : error C2664: 'qpid::InlineAllocator<BaseAllocator,Max>::InlineAllocator(const qpid::InlineAllocator<BaseAllocator,Max> &)' : cannot convert parameter 1 from 'qpid::InlineAllocator<BaseAllocator,Max>' to 'const qpid::InlineAllocator<BaseAllocator,Max> &'
> 1>        with
> 1>        [
> 1>            BaseAllocator=std::allocator<std::_Aux_cont>,
> 1>            Max=3
> 1>        ]
> 1>        and
> 1>        [
> 1>            BaseAllocator=std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,
> 1>            Max=3
> 1>        ]
> 1>        and
> 1>        [
> 1>            BaseAllocator=std::allocator<std::_Aux_cont>,
> 1>            Max=3
> 1>        ]
> 1>        Reason: cannot convert from 'qpid::InlineAllocator<BaseAllocator,Max>' to 'const qpid::InlineAllocator<BaseAllocator,Max>'
> 1>        with
> 1>        [
> 1>            BaseAllocator=std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,
> 1>            Max=3
> 1>        ]
> 1>        and
> 1>        [
> 1>            BaseAllocator=std::allocator<std::_Aux_cont>,
> 1>            Max=3
> 1>        ]
> 1>        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
> 1>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(417) : while compiling class template member function 'std::_Container_base_aux_alloc_real<_Alloc>::_Container_base_aux_alloc_real(_Alloc)'
> 1>        with
> 1>        [
> 1>            _Alloc=qpid::InlineAllocator<std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,3>
> 1>        ]
> 1>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(421) : see reference to class template instantiation 'std::_Container_base_aux_alloc_real<_Alloc>' being compiled
> 1>        with
> 1>        [
> 1>            _Alloc=qpid::InlineAllocator<std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,3>
> 1>        ]
> 1>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(439) : see reference to class template instantiation 'std::_Vector_val<_Ty,_Alloc>' being compiled
> 1>        with
> 1>        [
> 1>            _Ty=qpid::Range<qpid::framing::SequenceNumber>,
> 1>            _Alloc=qpid::InlineAllocator<std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,3>
> 1>        ]
> 1>        .\qpid/InlineVector.h(42) : see reference to class template instantiation 'std::vector<_Ty,_Ax>' being compiled
> 1>        with
> 1>        [
> 1>            _Ty=qpid::Range<qpid::framing::SequenceNumber>,
> 1>            _Ax=qpid::InlineAllocator<std::allocator<qpid::Range<qpid::framing::SequenceNumber>>,3>
> 1>        ]
> 1>        .\qpid/RangeSet.h(168) : see reference to class template instantiation 'qpid::InlineVector<T,Max>' being compiled
> 1>        with
> 1>        [
> 1>            T=qpid::Range<qpid::framing::SequenceNumber>,
> 1>            Max=3
> 1>        ]
> 1>        c:\ace\exported\qpid\trunk\qpid\cpp\src\qpid\framing\SequenceSet.h(31) : see reference to class template instantiation 'qpid::RangeSet<T>' being compiled
> 1>        with
> 1>        [
> 1>            T=qpid::framing::SequenceNumber
> 1>        ]
> This problem does not occur with VC8, nor with VC9 in Debug mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.