MySQL++

Artifact [8500dd9521]
Login

Artifact 8500dd9521e961aa4ee68c99199342a7c3358c81d1582ae2658c3bcbb684b15c:

Ticket change [8500dd9521] - Ticket [8395aa91d1231e07|8395aa91d1] <i>C++17 does not allow dynamic exception specifications</i> status still Open with 3 other changes by anonymous 2018-05-02 16:34:27.
D 2018-05-02T16:34:27.281
J icomment If\syou're\scompiling\sin\sC++17\smode\syou\scan't\skeep\sthe\sABI\sanyway\sbecause\s(as\syou\snote)\sthe\sdifferent\sthrow\sspec,\sso\shere's\sa\sproposed\spatch:\r\n\r\ndiff\s--git\sa/mysql++-3.2.3/lib/beemutex.cpp\sb/mysql++-3.2.3/lib/beemutex.cpp\r\nindex\sbc6ba30..0f9c318\s100644\r\n---\sa/mysql++-3.2.3/lib/beemutex.cpp\r\n+++\sb/mysql++-3.2.3/lib/beemutex.cpp\r\n@@\s-61,7\s+61,11\s@@\snamespace\smysqlpp\s{\r\n\s#endif\r\n\s\r\n\s\r\n+#if\s__cplusplus\s<\s201703L\r\n+BeecryptMutex::BeecryptMutex()\sthrow\s(MutexFailed)\r\n+#else\r\n\sBeecryptMutex::BeecryptMutex()\snoexcept(false)\r\n+#endif\r\n\s#if\sdefined(ACTUALLY_DOES_SOMETHING)\r\n\s\s\s\s\s\s\s\s:\spmutex_(new\sbc_mutex_t)\r\n\s#endif\r\n@@\s-103,7\s+107,11\s@@\sBeecryptMutex::~BeecryptMutex()\r\n\s\r\n\s\r\n\svoid\r\n+#if\s__cplusplus\s<\s201703L\r\n+BeecryptMutex::lock()\sthrow\s(MutexFailed)\r\n+#else\r\n\sBeecryptMutex::lock()\snoexcept(false)\r\n+#endif\r\n\s{\r\n\s#if\sdefined(MYSQLPP_PLATFORM_WINDOWS)\r\n\s\s\s\s\s\s\s\sif\s(WaitForSingleObject(impl_val(pmutex_),\sINFINITE)\s==\sWAIT_OBJECT_0)\r\n@@\s-125,7\s+133,11\s@@\sBeecryptMutex::lock()\snoexcept(false)\r\n\s\r\n\s\r\n\sbool\r\n+#if\s__cplusplus\s<\s201703L\r\n+BeecryptMutex::trylock()\sthrow\s(MutexFailed)\r\n+#else\r\n\sBeecryptMutex::trylock()\snoexcept(false)\r\n+#endif\r\n\s{\r\n\s#if\sdefined(ACTUALLY_DOES_SOMETHING)\r\n\s#\s\s\s\s\s\sif\sdefined(MYSQLPP_PLATFORM_WINDOWS)\r\n@@\s-160,7\s+172,11\s@@\sBeecryptMutex::trylock()\snoexcept(false)\r\n\s\r\n\s\r\n\svoid\r\n+#if\s__cplusplus\s<\s201703L\r\n+BeecryptMutex::unlock()\sthrow\s(MutexFailed)\r\n+#else\r\n\sBeecryptMutex::unlock()\snoexcept(false)\r\n+#endif\r\n\s{\r\n\s#if\sdefined(MYSQLPP_PLATFORM_WINDOWS)\r\n\s\s\s\s\s\s\s\sif\s(!ReleaseMutex(impl_val(pmutex_)))\r\ndiff\s--git\sa/mysql++-3.2.3/lib/beemutex.h\sb/mysql++-3.2.3/lib/beemutex.h\r\nindex\sa5850f3..0457950\s100644\r\n---\sa/mysql++-3.2.3/lib/beemutex.h\r\n+++\sb/mysql++-3.2.3/lib/beemutex.h\r\n@@\s-61,7\s+61,11\s@@\spublic:\r\n\s\s\s\s\s\s\s\s///\r\n\s\s\s\s\s\s\s\s///\sThrows\sa\sMutexFailed\sexception\sif\swe\scan't\sacquire\sthe\slock\sfor\r\n\s\s\s\s\s\s\s\s///\ssome\sreason.\s\sThe\sexception\scontains\sa\smessage\ssaying\swhy.\r\n+#if\s__cplusplus\s<\s201703L\r\n+\s\s\s\s\s\s\sBeecryptMutex()\sthrow\s(MutexFailed);\r\n+#else\r\n\s\s\s\s\s\s\s\s\sBeecryptMutex()\snoexcept(false);\r\n+#endif\r\n\s\r\n\s\s\s\s\s\s\s\s///\s\\brief\sDestroy\sthe\smutex\r\n\s\s\s\s\s\s\s\s///\r\n@@\s-70,14\s+74,26\s@@\spublic:\r\n\s\r\n\s\s\s\s\s\s\s\s///\s\\brief\sAcquire\sthe\smutex,\sblocking\sif\sit\scan't\sbe\sacquired\r\n\s\s\s\s\s\s\s\s///\simmediately.\r\n+#if\s__cplusplus\s<\s201703L\r\n+\s\s\s\s\s\s\svoid\slock()\sthrow\s(MutexFailed);\r\n+#else\r\n\s\s\s\s\s\s\s\svoid\slock()\snoexcept(false);\r\n+#endif\r\n\s\r\n\s\s\s\s\s\s\s\s///\s\\brief\sAcquire\sthe\smutex\simmediately\sand\sreturn\strue,\sor\sreturn\r\n\s\s\s\s\s\s\s\s///\sfalse\sif\sit\swould\shave\sto\sblock\sto\sacquire\sthe\smutex.\r\n+#if\s__cplusplus\s<\s201703L\r\n+\s\s\s\s\s\s\sbool\strylock()\sthrow\s(MutexFailed);\r\n+#else\r\n\s\s\s\s\s\s\s\sbool\strylock()\snoexcept(false);\r\n+#endif\r\n\s\r\n\s\s\s\s\s\s\s\s///\s\\brief\sRelease\sthe\smutex\r\n+#if\s__cplusplus\s<\s201703L\r\n+\s\s\s\s\s\s\svoid\sunlock()\sthrow\s(MutexFailed);\r\n+#else\r\n\s\s\s\s\s\s\s\svoid\sunlock()\snoexcept(false);\r\n+#endif\r\n\s\r\n\sprivate:\r\n\s\s\s\s\s\s\s\svoid*\spmutex_;\r\ndiff\s--git\sa/mysql++-3.2.3/lib/stadapter.cpp\sb/mysql++-3.2.3/lib/stadapter.cpp\r\nindex\sa9e0641..5d15696\s100644\r\n---\sa/mysql++-3.2.3/lib/stadapter.cpp\r\n+++\sb/mysql++-3.2.3/lib/stadapter.cpp\r\n@@\s-416,7\s+416,11\s@@\sSQLTypeAdapter::assign(const\snull_type&)\r\n\s}\r\n\s\r\n\schar\r\n+#if\s__cplusplus\s<\s201703L\r\n+SQLTypeAdapter::at(size_type\si)\sconst\sthrow(std::out_of_range)\r\n+#else\r\n\sSQLTypeAdapter::at(size_type\si)\sconst\snoexcept(false)\r\n+#endif\r\n\s{\r\n\s\s\s\s\s\s\s\sif\s(buffer_)\s{\r\n\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\sif\s(i\s<=\slength())\s{\r\ndiff\s--git\sa/mysql++-3.2.3/lib/stadapter.h\sb/mysql++-3.2.3/lib/stadapter.h\r\nindex\s2343d69..d7b8f48\s100644\r\n---\sa/mysql++-3.2.3/lib/stadapter.h\r\n+++\sb/mysql++-3.2.3/lib/stadapter.h\r\n@@\s-221,7\s+221,11\s@@\spublic:\r\n\s\s\s\s\s\s\s\s///\sWARNING:\sThe\sthrow-spec\sis\sincorrect,\sbut\sit\scan't\sbe\schanged\r\n\s\s\s\s\s\s\s\s///\suntil\sv4,\swhere\swe\scan\sbreak\sthe\sABI.\s\sThrow-specs\sshouldn't\sbe\r\n\s\s\s\s\s\s\s\s///\srelied\son\sanyway.\r\n+#if\s__cplusplus\s<\s201703L\r\n+\s\s\s\s\s\s\schar\sat(size_type\si)\sconst\sthrow(std::out_of_range);\r\n+#else\r\n\s\s\s\s\s\s\s\schar\sat(size_type\si)\sconst\snoexcept(false);\r\n+#endif\r\n\s\r\n\s\s\s\s\s\s\s\s///\s\\brief\sCompare\sthe\sinternal\sbuffer\sto\sthe\sgiven\sstring\r\n\s\s\s\s\s\s\s\s///
J login anonymous
J mimetype text/x-fossil-plain
K 8395aa91d1231e072ebe93d59f159b2c0a0a8dcc
U anonymous
Z 47ad22447f698780bc25e125d0d1e4f7