activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQCPP-423) Compiling with clang++
Date Mon, 27 Aug 2012 13:06:07 GMT

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

Timothy Bish updated AMQCPP-423:
--------------------------------

      Priority: Major  (was: Blocker)
    Issue Type: New Feature  (was: Bug)

clang isn't currently supported, if you want to submit patches you are welcome to.
                
> Compiling with clang++
> ----------------------
>
>                 Key: AMQCPP-423
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-423
>             Project: ActiveMQ C++ Client
>          Issue Type: New Feature
>          Components: CMS Impl
>    Affects Versions: 3.4.3
>         Environment: Redhat Enterprise Linux Server 6.3
> Clang 3.0
>            Reporter: Steve Pietrowicz
>            Assignee: Timothy Bish
>
> We're trying to get our entire software stack running under clang.  One of the third
party packages we use is ActiveMQCPP.  We're using an older version of the library, which
builds, but results in an error when we try to use it (see the last part of this message).
> The ActiveMQCPP 3.4.3 package fails to compile under clang 3.0, first giving many warnings
in other files, and then the error in ExecutorService.cpp:
> libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I../.. -ansi -pedantic -DLINUX=2 -D_REENTRANT
-D_GNU_SOURCE -I/lsst/home/srp/clang/lsst_clang/Linux64/external/apr/1.3.3+1/include/apr-1
-I/lsst/home/srp/clang/lsst_clang/Linux64/external/apr/1.3.3+1/include/apr-1 -W -Wall -Wextra
-Wconversion -fPIC -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long -g -O2 -pthread -MT
decaf/util/concurrent/libactivemq_cpp_la-ExecutorService.lo -MD -MP -MF decaf/util/concurrent/.deps/libactivemq_cpp_la-ExecutorService.Tpo
-c decaf/util/concurrent/ExecutorService.cpp -o decaf/util/concurrent/libactivemq_cpp_la-ExecutorService.o
>/dev/null 2>&1
> In file included from decaf/util/concurrent/Executors.cpp:25:
> In file included from ./decaf/util/concurrent/ThreadPoolExecutor.h:23:
> In file included from ./decaf/util/concurrent/BlockingQueue.h:22:
> In file included from ./decaf/util/AbstractQueue.h:28:
> ./decaf/util/Queue.h:101:19: warning: 'decaf::util::Queue<decaf::lang::Runnable
>       *>::remove' hides overloaded virtual function [-Woverloaded-virtual]
>         virtual E remove() = 0;
>                   ^
> ./decaf/util/AbstractQueue.h:47:34: note: in instantiation of template class
>       'decaf::util::Queue<decaf::lang::Runnable *>' requested here
>     class AbstractQueue : public decaf::util::Queue<E>,
>                                  ^
> ./decaf/util/concurrent/BlockingQueue.h:164:34: note: in instantiation of
>       template class 'decaf::util::AbstractQueue<decaf::lang::Runnable *>'
>       requested here
>     class BlockingQueue : public AbstractQueue<E> {
>                                  ^
> ./decaf/util/concurrent/ThreadPoolExecutor.h:598:45: note: in instantiation of
>       template class
>       'decaf::util::concurrent::BlockingQueue<decaf::lang::Runnable *>'
>       requested here
>                         executer->getQueue()->poll(oldest);
>                                             ^
> ./decaf/util/Collection.h:214:22: note: hidden overloaded virtual function
>       'decaf::util::Collection<decaf::lang::Runnable *>::remove' declared here
>         virtual bool remove( const E& value ) = 0;
>                      ^
> In file included from decaf/util/concurrent/Executors.cpp:28:
> ./decaf/util/concurrent/LinkedBlockingQueue.h:465:27: warning: implicit
>       conversion changes signedness: 'int' to 'size_type' (aka 'unsigned long')
>       [-Wsign-conversion]
>             array.reserve(size);
>             ~~~~~         ^~~~
> decaf/util/concurrent/Executors.cpp:112:28: note: in instantiation of member
>       function
>       'decaf::util::concurrent::LinkedBlockingQueue<decaf::lang::Runnable
>       *>::toArray' requested here
>         backingQ.reset(new LinkedBlockingQueue<Runnable*>());
>                            ^
> In file included from decaf/util/concurrent/Executors.cpp:25:
> In file included from ./decaf/util/concurrent/ThreadPoolExecutor.h:23:
> In file included from ./decaf/util/concurrent/BlockingQueue.h:22:
> ./decaf/util/AbstractQueue.h:63:17: error: use of undeclared identifier 'offer'
>             if( offer( value ) ) {
>                 ^
>                 this->
> decaf/util/concurrent/Executors.cpp:112:28: note: in instantiation of member
>       function 'decaf::util::AbstractQueue<decaf::lang::Runnable *>::add'
>       requested here
>         backingQ.reset(new LinkedBlockingQueue<Runnable*>());
>                            ^
> ./decaf/util/Queue.h:76:22: note: must qualify identifier to find this
>       declaration in dependent base class
>         virtual bool offer( const E& value ) = 0;
>                      ^
> In file included from decaf/util/concurrent/Executors.cpp:18:
> In file included from decaf/util/concurrent/Executors.h:24:
> In file included from ./decaf/util/concurrent/ExecutorService.h:24:
> In file included from ./decaf/util/ArrayList.h:30:
> In file included from ./decaf/util/List.h:27:
> ./decaf/util/AbstractCollection.h:318:33: warning: implicit conversion changes
>       signedness: 'int' to 'size_type' (aka 'unsigned long') [-Wsign-conversion]
>             valueArray.reserve( this->size() );
>             ~~~~~~~~~~          ^~~~~~~~~~~~
> decaf/util/concurrent/Executors.cpp:112:28: note: in instantiation of member
>       function 'decaf::util::AbstractCollection<decaf::lang::Runnable
>       *>::toArray' requested here
>         backingQ.reset(new LinkedBlockingQueue<Runnable*>());
>                            ^
> 5 warnings and 1 error generated.
> Version 3.1.2 of the library compiles, but throws an exception (out of range) on in createConnection
in AMQConnectionFactory.
> I wasn't sure how to classify this issue and whether it should be classified as enhancement
request.  Is there any plan to support clang in the future?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message