forked from qt-creator/qt-creator
Clang: Define __FUNCSIG__ and others for msvc toolchain
Affects __FUNCSIG__, __FUNCTION__ and __FUNCDNAME__. By default Clang can't concatenate strings under those macros with other strings. Because of that we need to define them with empty strings to make clang compile such cases without errors. Task-number: QTCREATORBUG-19295 Change-Id: I9a3770ebe56b4b8a49ba9982c5a1ba90c8f0b304 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -65,6 +65,7 @@ QStringList ClangCompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileK
|
|||||||
addToolchainAndProjectMacros();
|
addToolchainAndProjectMacros();
|
||||||
undefineClangVersionMacrosForMsvc();
|
undefineClangVersionMacrosForMsvc();
|
||||||
undefineCppLanguageFeatureMacrosForMsvc2015();
|
undefineCppLanguageFeatureMacrosForMsvc2015();
|
||||||
|
addDefineFunctionMacrosMsvc();
|
||||||
|
|
||||||
addPredefinedHeaderPathsOptions();
|
addPredefinedHeaderPathsOptions();
|
||||||
addWrappedQtHeadersIncludePath();
|
addWrappedQtHeadersIncludePath();
|
||||||
|
@@ -339,6 +339,12 @@ void CompilerOptionsBuilder::undefineCppLanguageFeatureMacrosForMsvc2015()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CompilerOptionsBuilder::addDefineFunctionMacrosMsvc()
|
||||||
|
{
|
||||||
|
if (m_projectPart.toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID)
|
||||||
|
addMacros({{"__FUNCSIG__", "\"\""}, {"__FUNCTION__", "\"\""}, {"__FUNCDNAME__", "\"\""}});
|
||||||
|
}
|
||||||
|
|
||||||
void CompilerOptionsBuilder::addDefineFloat128ForMingw()
|
void CompilerOptionsBuilder::addDefineFloat128ForMingw()
|
||||||
{
|
{
|
||||||
// CLANG-UPGRADE-CHECK: Workaround still needed?
|
// CLANG-UPGRADE-CHECK: Workaround still needed?
|
||||||
|
@@ -61,6 +61,7 @@ public:
|
|||||||
|
|
||||||
void addMsvcCompatibilityVersion();
|
void addMsvcCompatibilityVersion();
|
||||||
void undefineCppLanguageFeatureMacrosForMsvc2015();
|
void undefineCppLanguageFeatureMacrosForMsvc2015();
|
||||||
|
void addDefineFunctionMacrosMsvc();
|
||||||
|
|
||||||
void addDefineFloat128ForMingw();
|
void addDefineFloat128ForMingw();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user