diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-02-01 14:17:42 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-02-01 19:03:36 +0100 |
commit | 07d04fd3ae72dc1c9998f83a4131407ecc39cda9 (patch) | |
tree | 631096befc3ac2c7da3ce8af84cce3c604ff21ce /external | |
parent | 3430192b9c9cc04f7aa46329c84b667f93c9ef39 (diff) |
Better fix for missing [[noreturn]] of CPPUNIT_FAIL
This includes a revert of commit 9808486a89c6368f836579f8d8c0dda63fd0063c "Avoid
-Werror,-Wimplicit-fallthrough with clang-cl", and also undoes older MSVC
workarounds (that would start to cause "warning C4702: unreachable code" now).
Change-Id: If72bf336e12e0a2db589857e8875003dae861977
Reviewed-on: https://gerrit.libreoffice.org/67248
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/cppunit/0001-Unconditionally-use-C-11-noreturn.patch.1 | 57 | ||||
-rw-r--r-- | external/cppunit/UnpackedTarball_cppunit.mk | 3 |
2 files changed, 60 insertions, 0 deletions
diff --git a/external/cppunit/0001-Unconditionally-use-C-11-noreturn.patch.1 b/external/cppunit/0001-Unconditionally-use-C-11-noreturn.patch.1 new file mode 100644 index 000000000000..70ede229a3e6 --- /dev/null +++ b/external/cppunit/0001-Unconditionally-use-C-11-noreturn.patch.1 @@ -0,0 +1,57 @@ +From c955b1041b9e3ebe7ee8a620340b78bddc820682 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sbergman@redhat.com> +Date: Fri, 1 Feb 2019 13:37:59 +0100 +Subject: [PATCH] Unconditionally use C++11 [[noreturn]] + +This helps avoid issues like <https://gerrit.libreoffice.org/plugins/gitiles/ +core/+/9808486a89c6368f836579f8d8c0dda63fd0063c%5E%21> "Avoid +-Werror,-Wimplicit-fallthrough with clang-cl ...where CPPUNIT_FAIL is marked as +noreturn only for __GNUC__". + +Change-Id: Idb33af7375f103f2dd7a7b4c3dbf20ce731b17ad +--- + include/cppunit/Asserter.h | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/include/cppunit/Asserter.h b/include/cppunit/Asserter.h +index 3321b87..dd39ead 100644 +--- a/include/cppunit/Asserter.h ++++ b/include/cppunit/Asserter.h +@@ -43,23 +43,17 @@ class Message; + * \endcode + */ + +-#if defined __GNUC__ +-# define NORETURN __attribute__((noreturn)) +-#else +-# define NORETURN +-#endif +- + struct Asserter + { + /*! \brief Throws a Exception with the specified message and location. + */ +- NORETURN static void CPPUNIT_API fail( const Message &message, ++ [[noreturn]] static void CPPUNIT_API fail( const Message &message, + const SourceLine &sourceLine = SourceLine() ); + + /*! \brief Throws a Exception with the specified message and location. + * \deprecated Use fail( Message, SourceLine ) instead. + */ +- NORETURN static void CPPUNIT_API fail( std::string message, ++ [[noreturn]] static void CPPUNIT_API fail( std::string message, + const SourceLine &sourceLine = SourceLine() ); + + /*! \brief Throws a Exception with the specified message and location. +@@ -165,7 +159,7 @@ struct Asserter + * what are the differences between the expected and actual value. + * \param shortDescription Short description for the failure message. + */ +- NORETURN static void CPPUNIT_API failNotEqual( std::string expected, ++ [[noreturn]] static void CPPUNIT_API failNotEqual( std::string expected, + std::string actual, + const SourceLine &sourceLine, + const AdditionalMessage &additionalMessage = AdditionalMessage(), +-- +2.20.1 + diff --git a/external/cppunit/UnpackedTarball_cppunit.mk b/external/cppunit/UnpackedTarball_cppunit.mk index 053a6020cd4f..649ba8fc4063 100644 --- a/external/cppunit/UnpackedTarball_cppunit.mk +++ b/external/cppunit/UnpackedTarball_cppunit.mk @@ -15,6 +15,8 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,cppunit)) # gcc9.patch.0 addressed upstream with <https://gerrit.libreoffice.org/58690> "Avoid GCC 9 # -Wdeprecated-copy": +# 0001-Unconditionally-use-C-11-noreturn.patch.1 upstream at <https://gerrit.libreoffice.org/67247> +# "Unconditionally use C++11 [[noreturn]]" $(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ external/cppunit/windows.patch \ external/cppunit/unix.patch \ @@ -22,6 +24,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ external/cppunit/enable-win32-debug.patch \ external/cppunit/rtti.patch.0 \ external/cppunit/gcc9.patch.0 \ + external/cppunit/0001-Unconditionally-use-C-11-noreturn.patch.1 \ )) ifeq ($(DISABLE_DYNLOADING),TRUE) $(eval $(call gb_UnpackedTarball_add_patches,cppunit,\ |