diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2021-10-12 11:40:05 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2021-10-12 13:37:02 +0200 |
commit | 5dd9990a12509ec9326c061544b228652e495fe5 (patch) | |
tree | 9f2b34d86dae011e8d26095d7ffeb30e2b469bcd /include/LibreOfficeKit | |
parent | 2ed4102a56981e5524a9992ef95e2c980db197fd (diff) |
Don't #include within extern "C"
At least when building against trunk libstdc++ on Fedora 35 beta now, that
caused failures like
> In file included from ~/lo/core/libreofficekit/qa/unit/checkapi.cxx:18:
> In file included from ~/lo/core/workdir/UnpackedTarball/cppunit/include/cppunit/plugin/TestPlugIn.h:8:
> In file included from ~/lo/core/workdir/UnpackedTarball/cppunit/include/cppunit/plugin/PlugInParameters.h:8:
> In file included from ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/deque:70:
> In file included from ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/debug/deque:40:
> In file included from ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/debug/safe_sequence.h:35:
> In file included from ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/debug/safe_base.h:32:
> In file included from ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/ext/concurrence.h:34:
> ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/exception:83:8: error: declaration of 'terminate' has a different language linkage
> void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__));
> ^
> ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/x86_64-pc-linux-gnu/bits/c++config.h:302:10: note: previous declaration is here
> void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__));
> ^
Change-Id: I81cf87d13c16fd10ce3e2435509ab462852fce2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123447
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'include/LibreOfficeKit')
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKitInit.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitInit.h b/include/LibreOfficeKit/LibreOfficeKitInit.h index 8a48bd8392be..ccd42863ba25 100644 --- a/include/LibreOfficeKit/LibreOfficeKitInit.h +++ b/include/LibreOfficeKit/LibreOfficeKitInit.h @@ -12,11 +12,6 @@ #include <LibreOfficeKit/LibreOfficeKit.h> -#ifdef __cplusplus -extern "C" -{ -#endif - #if defined __GNUC__ || defined __clang__ # define LOK_TOLERATE_UNUSED __attribute__((used)) #else @@ -48,6 +43,26 @@ extern "C" #endif #define SEPARATOR '/' +#else + + #if !defined WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include <windows.h> + #define TARGET_LIB "sofficeapp" ".dll" + #define TARGET_MERGED_LIB "mergedlo" ".dll" + #define SEPARATOR '\\' + #define UNOPATH "\\..\\URE\\bin" + +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef _WIN32 + #if !defined(IOS) static void *lok_loadlib(const char *pFN) { @@ -88,15 +103,6 @@ extern "C" #else - #if !defined WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN - #endif - #include <windows.h> - #define TARGET_LIB "sofficeapp" ".dll" - #define TARGET_MERGED_LIB "mergedlo" ".dll" - #define SEPARATOR '\\' - #define UNOPATH "\\..\\URE\\bin" - static void *lok_loadlib(const char *pFN) { return (void *) LoadLibraryA(pFN); @@ -345,12 +351,12 @@ int lok_preinit( const char *install_path, const char *user_profile_url ) #undef SEPARATOR // It is used at least in enum class MenuItemType -#endif // defined(__linux__) || defined (__FreeBSD__) || defined(_AIX) || defined(_WIN32) || defined(__APPLE__) - #ifdef __cplusplus } #endif +#endif // defined(__linux__) || defined (__FreeBSD__) || defined(_AIX) || defined(_WIN32) || defined(__APPLE__) + #endif // INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKITINIT_H /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |