You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/05/10 12:38:00 UTC

[jira] [Commented] (QPID-8187) Incompatible callback function pointer casts fail to build on GCC 8

    [ https://issues.apache.org/jira/browse/QPID-8187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16470334#comment-16470334 ] 

ASF GitHub Bot commented on QPID-8187:
--------------------------------------

GitHub user chrisrichardson77 opened a pull request:

    https://github.com/apache/qpid-cpp/pull/15

    QPID-8187 Allow incompatible function casts for SASL compatibility

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/fourceu/qpid-cpp QPID-8187

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/qpid-cpp/pull/15.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #15
    
----
commit f5ec513d3a14e202bbeef867f58948df0d71d498
Author: Chris Richardson <ch...@...>
Date:   2018-05-10T12:35:21Z

    QPID-8187 Allow incompatible function casts for SASL compatibility

----


> Incompatible callback function pointer casts fail to build on GCC 8
> -------------------------------------------------------------------
>
>                 Key: QPID-8187
>                 URL: https://issues.apache.org/jira/browse/QPID-8187
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: qpid-cpp-1.38.0
>         Environment: Gentoo x64, GCC 8.1
>            Reporter: Chris Richardson
>            Priority: Major
>             Fix For: qpid-cpp-1.39.0
>
>
> {quote}[ 22%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/sys/epoll/EpollPoller.cpp.o
>  /home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp: In constructor ‘qpid::CyrusSasl::CyrusSasl(const string&, const string&, const string&, const string&, int, int, bool)’:
>  /home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp:215:46: error: cast between incompatible function types from ‘int (*)(void*, int, const char**, unsigned int*)’ to ‘int (*)()’ [-Werror=cast-function-type]
>  callbacks[i].proc = (CallbackProc*) &getUserFromSettings;
>  ^~~~~~~~~~~~~~~~~~~
>  /home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp:223:50: error: cast between incompatible function types from ‘int (*)(sasl_conn_t*, void*, int, sasl_secret_t**)’
> Unknown macro: \{aka ‘int (*)(sasl_conn*, void*, int, sasl_secret**)’}
> to ‘int (*)()’ [-Werror=cast-function-type]
>  callbacks[i].proc = (CallbackProc*) &getPasswordFromSettings;
>  ^~~~~~~~~~~~~~~~~~~~~~ 
> {quote}
> Given the constrains of the SASL library interface, the only obvious solution for this I can think of is to add "-Wno-error=cast-function-type" to the compiler settings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org