mirror of https://github.com/aria2/aria2
Check that C++ compiler supports override keyword
If the compiler supports override, define CXX11_OVERRIDE as override, otherwise define it as empty. Use CXX11_OVERRIDE instead of override.pull/106/head
parent
cce5b3206a
commit
28d5c7408f
21
configure.ac
21
configure.ac
|
@ -96,6 +96,27 @@ PKG_PROG_PKG_CONFIG([0.20])
|
|||
# Check C++ compiler supports C++0x/C++11 feature
|
||||
AX_CXX_COMPILE_STDCXX_11([noext])
|
||||
|
||||
# i686-w64-mingw32-g++ 4.6 does not support override keyword. For
|
||||
# those compilers, define CXX11_OVERRIDE to empty string. Otherwise
|
||||
# define it as override. Use CXX11_OVERRIDE instead of override.
|
||||
AC_MSG_CHECKING([whether the C++ compiler supports `override` keyword])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
struct Base {
|
||||
virtual void f() = 0;
|
||||
};
|
||||
struct Derived : Base {
|
||||
virtual void f() override {}
|
||||
};
|
||||
]],
|
||||
[[
|
||||
Derived x;
|
||||
]])],
|
||||
[cxx11_override=override
|
||||
AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
AC_DEFINE_UNQUOTED([CXX11_OVERRIDE], [$cxx11_override],
|
||||
[Define `override` keyword if the compiler supports it])
|
||||
|
||||
# Check static build is requested
|
||||
if test "x$ARIA2_STATIC" = "xyes"; then
|
||||
case "$host" in
|
||||
|
|
|
@ -75,7 +75,8 @@ public:
|
|||
return bytesProcessed_;
|
||||
}
|
||||
|
||||
virtual bool installDelegate(const std::unique_ptr<StreamFilter> filter) override
|
||||
virtual bool installDelegate(const std::unique_ptr<StreamFilter> filter)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -75,7 +75,8 @@ public:
|
|||
return bytesProcessed_;
|
||||
}
|
||||
|
||||
virtual bool installDelegate(const std::unique_ptr<StreamFilter> filter) override
|
||||
virtual bool installDelegate(const std::unique_ptr<StreamFilter> filter)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ public:
|
|||
length(0) {}
|
||||
|
||||
virtual void doCancelSendingPieceAction
|
||||
(size_t index, int32_t begin, int32_t length) override {
|
||||
(size_t index, int32_t begin, int32_t length) CXX11_OVERRIDE {
|
||||
this->index = index;
|
||||
this->begin = begin;
|
||||
this->length = length;
|
||||
|
|
|
@ -48,12 +48,12 @@ public:
|
|||
doChokingActionCalled{false}
|
||||
{}
|
||||
|
||||
virtual void doChokedAction() override
|
||||
virtual void doChokedAction() CXX11_OVERRIDE
|
||||
{
|
||||
doChokedActionCalled = true;
|
||||
}
|
||||
|
||||
virtual void doChokingAction() override
|
||||
virtual void doChokingAction() CXX11_OVERRIDE
|
||||
{
|
||||
doChokingActionCalled = true;
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ public:
|
|||
public:
|
||||
MockBtRequestFactory2():doChokedActionCalled{false} {}
|
||||
|
||||
virtual void doChokedAction() override
|
||||
virtual void doChokedAction() CXX11_OVERRIDE
|
||||
{
|
||||
doChokedActionCalled = true;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,8 @@ public:
|
|||
}
|
||||
|
||||
virtual const RequestSlot* getOutstandingRequest
|
||||
(size_t index, int32_t begin, int32_t length) override {
|
||||
(size_t index, int32_t begin, int32_t length) CXX11_OVERRIDE
|
||||
{
|
||||
if(slot &&
|
||||
slot->getIndex() == index && slot->getBegin() == begin &&
|
||||
slot->getLength() == length) {
|
||||
|
@ -51,7 +52,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
virtual void removeOutstandingRequest(const RequestSlot* s) override
|
||||
virtual void removeOutstandingRequest(const RequestSlot* s) CXX11_OVERRIDE
|
||||
{
|
||||
if(slot->getIndex() == s->getIndex() &&
|
||||
slot->getBegin() == s->getBegin() &&
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
|
||||
class MockPieceStorage2 : public MockPieceStorage {
|
||||
public:
|
||||
virtual bool hasPiece(size_t index) override
|
||||
virtual bool hasPiece(size_t index) CXX11_OVERRIDE
|
||||
{
|
||||
return index == 1;
|
||||
}
|
||||
|
@ -63,13 +63,15 @@ public:
|
|||
class MockBtMessageFactory2 : public MockBtMessageFactory {
|
||||
public:
|
||||
virtual std::unique_ptr<BtPieceMessage>
|
||||
createPieceMessage(size_t index, int32_t begin, int32_t length) override
|
||||
createPieceMessage(size_t index, int32_t begin, int32_t length)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<BtPieceMessage>(index, begin, length);
|
||||
}
|
||||
|
||||
virtual std::unique_ptr<BtRejectMessage>
|
||||
createRejectMessage(size_t index, int32_t begin, int32_t length) override
|
||||
createRejectMessage(size_t index, int32_t begin, int32_t length)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<BtRejectMessage>(index, begin, length);
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@ public:
|
|||
class MockDHTMessageFactory2:public MockDHTMessageFactory {
|
||||
virtual std::unique_ptr<DHTAnnouncePeerReplyMessage>
|
||||
createAnnouncePeerReplyMessage(const std::shared_ptr<DHTNode>& remoteNode,
|
||||
const std::string& transactionID) override
|
||||
const std::string& transactionID)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<DHTAnnouncePeerReplyMessage>(localNode_, remoteNode,
|
||||
transactionID);
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
createFindNodeReplyMessage
|
||||
(const std::shared_ptr<DHTNode>& remoteNode,
|
||||
std::vector<std::shared_ptr<DHTNode>> closestKNodes,
|
||||
const std::string& transactionID) override
|
||||
const std::string& transactionID) CXX11_OVERRIDE
|
||||
{
|
||||
auto m = make_unique<DHTFindNodeReplyMessage>
|
||||
(AF_INET, localNode_, remoteNode, transactionID);
|
||||
|
|
|
@ -44,7 +44,7 @@ public:
|
|||
std::vector<std::shared_ptr<DHTNode>> closestKNodes,
|
||||
std::vector<std::shared_ptr<Peer>> peers,
|
||||
const std::string& token,
|
||||
const std::string& transactionID) override
|
||||
const std::string& transactionID) CXX11_OVERRIDE
|
||||
{
|
||||
auto m = make_unique<DHTGetPeersReplyMessage>(AF_INET, localNode_,
|
||||
remoteNode, token,
|
||||
|
|
|
@ -38,7 +38,7 @@ public:
|
|||
virtual std::unique_ptr<DHTPingReplyMessage>
|
||||
createPingReplyMessage(const std::shared_ptr<DHTNode>& remoteNode,
|
||||
const unsigned char* remoteNodeID,
|
||||
const std::string& transactionID) override
|
||||
const std::string& transactionID) CXX11_OVERRIDE
|
||||
{
|
||||
unsigned char id[DHT_ID_LENGTH];
|
||||
std::fill(std::begin(id), std::end(id), '0');
|
||||
|
|
|
@ -83,14 +83,14 @@ public:
|
|||
: evcheck{evcheck}
|
||||
{}
|
||||
|
||||
virtual void onQueued() override
|
||||
virtual void onQueued() CXX11_OVERRIDE
|
||||
{
|
||||
if(evcheck){
|
||||
evcheck->onQueuedCalled = true;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void send() override
|
||||
virtual void send() CXX11_OVERRIDE
|
||||
{
|
||||
if(evcheck) {
|
||||
evcheck->sendCalled = true;
|
||||
|
@ -98,7 +98,7 @@ public:
|
|||
}
|
||||
|
||||
virtual void onCancelSendingPieceEvent
|
||||
(const BtCancelSendingPieceEvent& event) override
|
||||
(const BtCancelSendingPieceEvent& event) CXX11_OVERRIDE
|
||||
{
|
||||
if(evcheck) {
|
||||
evcheck->doCancelActionCalled = true;
|
||||
|
@ -110,7 +110,7 @@ public:
|
|||
private:
|
||||
std::shared_ptr<Piece> piece;
|
||||
public:
|
||||
virtual std::shared_ptr<Piece> getPiece(size_t index) override
|
||||
virtual std::shared_ptr<Piece> getPiece(size_t index) CXX11_OVERRIDE
|
||||
{
|
||||
return piece;
|
||||
}
|
||||
|
@ -124,7 +124,8 @@ public:
|
|||
class MockBtMessageFactory2 : public MockBtMessageFactory {
|
||||
public:
|
||||
virtual std::unique_ptr<BtCancelMessage>
|
||||
createCancelMessage(size_t index, int32_t begin, int32_t length) override
|
||||
createCancelMessage(size_t index, int32_t begin, int32_t length)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<BtCancelMessage>(index, begin, length);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
public:
|
||||
virtual std::unique_ptr<BtRequestMessage>
|
||||
createRequestMessage(const std::shared_ptr<Piece>& piece,
|
||||
size_t blockIndex) override
|
||||
size_t blockIndex) CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<BtRequestMessage>(piece->getIndex(), 0, 0,
|
||||
blockIndex);
|
||||
|
@ -62,7 +62,8 @@ public:
|
|||
|
||||
class MockBtMessageDispatcher2 : public MockBtMessageDispatcher {
|
||||
public:
|
||||
virtual bool isOutstandingRequest(size_t index, size_t blockIndex) override
|
||||
virtual bool isOutstandingRequest(size_t index, size_t blockIndex)
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return index == 0 && blockIndex == 0;
|
||||
}
|
||||
|
|
|
@ -30,12 +30,12 @@ class GZipDecodingStreamFilterTest:public CppUnit::TestFixture {
|
|||
public:
|
||||
MockSegment2():positionToWrite_(0) {}
|
||||
|
||||
virtual void updateWrittenLength(int32_t bytes) override
|
||||
virtual void updateWrittenLength(int32_t bytes) CXX11_OVERRIDE
|
||||
{
|
||||
positionToWrite_ += bytes;
|
||||
}
|
||||
|
||||
virtual int64_t getPositionToWrite() const override
|
||||
virtual int64_t getPositionToWrite() const CXX11_OVERRIDE
|
||||
{
|
||||
return positionToWrite_;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ class WrapExtBtMessageFactory:public MockBtMessageFactory {
|
|||
public:
|
||||
virtual std::unique_ptr<BtExtendedMessage>
|
||||
createBtExtendedMessage(std::unique_ptr<ExtensionMessage> extmsg)
|
||||
override
|
||||
CXX11_OVERRIDE
|
||||
{
|
||||
return make_unique<BtExtendedMessage>(std::move(extmsg));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue