[
https://issues.apache.org/jira/browse/PROTON-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729603#comment-15729603
]
ASF subversion and git services commented on PROTON-1371:
---------------------------------------------------------
Commit 5147ed30303a4ef8510a78b0e214fd954811193c in qpid-proton's branch
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=5147ed3 ]
PROTON-1371: [C++ binding] Large header file cleanup
- Introduce <proton/fwd.hpp> header to forward declare types
- Remove a lot of unnecessary includes in C++ header files
> proton::container::schedule crashes when mixing different language versions
> ---------------------------------------------------------------------------
>
> Key: PROTON-1371
> URL: https://issues.apache.org/jira/browse/PROTON-1371
> Project: Qpid Proton
> Issue Type: Bug
> Components: cpp-binding
> Affects Versions: 0.14.0
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Blocker
> Fix For: 0.16.0
>
>
> If you have a libqpid-proton-cpp compiled with C\+\+11 and then link to it
> using a C\+\+03 and use the {{proton::container::schedule}} API then the
> application will crash. This is because there is an extra virtual function
> present in the middle of the C\+\+11 vtable compared to the C\+\+03 vtable.
> So that when used from '03 the wrong member function gets called.
> The extra member function is present because of conditional compilation
> dependent on the C\+\+ version doing the compilation.
> This should also be a problem the other way round too, so using a
> libqpid-proton-cpp compiled with C\+\+03 from C\+\+11 will cause there to be
> one fewer entry in the vtable, and using schedule will either get the wrong
> version of schedule or call an entry of the end of the vtable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]