diff --git a/Makefile.linux b/Makefile.linux index 28334082..a02419b7 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -20,9 +20,12 @@ else ifeq ($(shell expr match ${CXXVER} "4\.[8-9]"),3) # gcc 4.8 - 4.9 else ifeq ($(shell expr match ${CXXVER} "[5-6]"),1) # gcc 5 - 6 NEEDED_CXXFLAGS += -std=c++11 LDLIBS = -latomic -else ifeq ($(shell expr match ${CXXVER} "[1,7-9]"),1) # gcc >= 7 +else ifeq ($(shell expr match ${CXXVER} "[7-9]"),1) # gcc 7 - 9 NEEDED_CXXFLAGS += -std=c++17 LDLIBS = -latomic +else ifeq ($(shell expr match ${CXXVER} "1[0-9]"),2) # gcc 10 - 19 + NEEDED_CXXFLAGS += -std=c++20 + LDLIBS = -latomic else # not supported $(error Compiler too old) endif diff --git a/libi2pd/SSU2Session.cpp b/libi2pd/SSU2Session.cpp index 38d52012..cef67ea1 100644 --- a/libi2pd/SSU2Session.cpp +++ b/libi2pd/SSU2Session.cpp @@ -2273,7 +2273,11 @@ namespace transport { if (!msg) return; int32_t msgID = msg->GetMsgID (); +#if __cplusplus >= 202002L // C++ 20 or higher + if (!m_ReceivedI2NPMsgIDs.contains (msgID)) +#else if (!m_ReceivedI2NPMsgIDs.count (msgID)) +#endif { if (!msg->IsExpired ()) {