summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-02-01 14:17:42 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-02-01 19:03:36 +0100
commit07d04fd3ae72dc1c9998f83a4131407ecc39cda9 (patch)
tree631096befc3ac2c7da3ce8af84cce3c604ff21ce /external
parent3430192b9c9cc04f7aa46329c84b667f93c9ef39 (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.157
-rw-r--r--external/cppunit/UnpackedTarball_cppunit.mk3
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,\