From df571577b6d9212b265f72675128b97858e618d4 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 3 Jun 2021 16:06:39 +0200 Subject: [PATCH] CPlusPlus: Fix MSVC Debug build Amends 011f62dfc255b73e9fc952fa35abbb8219856f8d Change-Id: I33aea095341ee5e1cb38763cde04b567ea030986 Reviewed-by: Christian Stenger Reviewed-by: David Schulz --- src/libs/3rdparty/cplusplus/AST.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/cplusplus/AST.h b/src/libs/3rdparty/cplusplus/AST.h index 60374d2e0f4..be73cab1edb 100644 --- a/src/libs/3rdparty/cplusplus/AST.h +++ b/src/libs/3rdparty/cplusplus/AST.h @@ -26,6 +26,14 @@ namespace CPlusPlus { +// clang-cl needs an export for the subclass, while msvc fails to build in debug mode if +// the export is present. +#if defined(Q_CC_CLANG) && defined(Q_CC_MSVC) +#define CPLUSPLUS_EXPORT_SUBCLASS CPLUSPLUS_EXPORT +#else +#define CPLUSPLUS_EXPORT_SUBCLASS +#endif + template class CPLUSPLUS_EXPORT List: public Managed { @@ -76,7 +84,7 @@ public: Tptr value; List *next; - class CPLUSPLUS_EXPORT ListIterator + class CPLUSPLUS_EXPORT_SUBCLASS ListIterator { List *iter;