From 370804c2ab307cc9dfbcd5566e7625e0996f1f9e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 26 Nov 2020 11:13:55 +0100 Subject: [PATCH] CppTools: Work around problems with our definition of __FUNCSIG__ This basically extends the existing hack to cover one more case. It may very well break again in some other context, in which case we will remove the custom definitions entirely, as the reason they exist in the first place does not seem terribly relevant. Fixes: QTCREATORBUG-24580 Change-Id: I757ac23682c81c647a5d968fa549baac5716010c Reviewed-by: Christian Stenger --- src/plugins/cpptools/builtineditordocumentparser.cpp | 6 +++--- src/plugins/cpptools/compileroptionsbuilder.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/cpptools/builtineditordocumentparser.cpp b/src/plugins/cpptools/builtineditordocumentparser.cpp index b2f35db44db..2dba7fb2ddf 100644 --- a/src/plugins/cpptools/builtineditordocumentparser.cpp +++ b/src/plugins/cpptools/builtineditordocumentparser.cpp @@ -43,9 +43,9 @@ static QByteArray overwrittenToolchainDefines(const ProjectPart &projectPart) // MSVC's predefined macros like __FUNCSIG__ expand to itself. // We can't parse this, so redefine to the empty string literal. if (projectPart.toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) { - defines += "#define __FUNCSIG__ \"\"\n" - "#define __FUNCDNAME__ \"\"\n" - "#define __FUNCTION__ \"\"\n"; + defines += "#define __FUNCSIG__ \"void __cdecl someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580(void)\"\n" + "#define __FUNCDNAME__ \"?someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580@@YAXXZ\"\n" + "#define __FUNCTION__ \"someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580\"\n"; } return defines; diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 612b0439b30..4f951125508 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -641,9 +641,9 @@ void CompilerOptionsBuilder::undefineCppLanguageFeatureMacrosForMsvc2015() void CompilerOptionsBuilder::addDefineFunctionMacrosMsvc() { if (m_projectPart.toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) { - addMacros({{"__FUNCSIG__", "\"\""}, - {"__FUNCTION__", "\"\""}, - {"__FUNCDNAME__", "\"\""}}); + addMacros({{"__FUNCSIG__", "\"void __cdecl someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580(void)\""}, + {"__FUNCTION__", "\"someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580\""}, + {"__FUNCDNAME__", "\"?someLegalAndLongishFunctionNameThatWorksAroundQTCREATORBUG-24580@@YAXXZ\""}}); } }