Merge pull request #11367 from Rmys/master

qt6-tools rebuild
This commit is contained in:
Rmys
2023-01-19 12:07:17 +03:00
committed by GitHub
2 changed files with 129 additions and 1 deletions
@@ -0,0 +1,128 @@
diff -Nuar a/src/linguist/lupdate/cpp_clang.cpp b/src/linguist/lupdate/cpp_clang.cpp
--- a/src/linguist/lupdate/cpp_clang.cpp 2022-09-23 14:50:40.000000000 +0300
+++ b/src/linguist/lupdate/cpp_clang.cpp 2023-01-19 11:46:35.771012198 +0300
@@ -243,40 +243,37 @@
static clang::tooling::ArgumentsAdjuster getClangArgumentAdjuster()
{
const QByteArrayList compilerIncludeFlags = getIncludePathsFromCompiler();
- return [=](const clang::tooling::CommandLineArguments &args,
- llvm::StringRef /*unused*/) {
- clang::tooling::CommandLineArguments adjustedArgs;
- for (size_t i = 0, e = args.size(); i < e; ++i) {
- llvm::StringRef arg = args[i];
- // FIXME: Remove options that generate output.
- if (!arg.startswith("-fcolor-diagnostics") && !arg.startswith("-fdiagnostics-color"))
- adjustedArgs.push_back(args[i]);
- }
- adjustedArgs.push_back("-fparse-all-comments");
- adjustedArgs.push_back("-nostdinc");
+ return [=](const clang::tooling::CommandLineArguments &args, llvm::StringRef /*unused*/) {
+ clang::tooling::CommandLineArguments adjustedArgs(args);
+ clang::tooling::CommandLineArguments adjustedArgsTemp;
+
+ adjustedArgsTemp.push_back("-fparse-all-comments");
+ adjustedArgsTemp.push_back("-nostdinc");
// Turn off SSE support to avoid usage of gcc builtins.
// TODO: Look into what Qt Creator does.
// Pointers: HeaderPathFilter::removeGccInternalIncludePaths()
// and gccInstallDir() in gcctoolchain.cpp
// Also needed for Mac, No need for CLANG_RESOURCE_DIR when this is part of the argument.
- adjustedArgs.push_back("-mno-sse");
+ adjustedArgsTemp.push_back("-mno-sse");
- adjustedArgs.push_back("-fsyntax-only");
#ifdef Q_OS_WIN
- adjustedArgs.push_back("-fms-compatibility-version=19");
- adjustedArgs.push_back("-DQ_COMPILER_UNIFORM_INIT"); // qtbase + clang-cl hack
+ adjustedArgsTemp.push_back("-fms-compatibility-version=19");
+ adjustedArgsTemp.push_back("-DQ_COMPILER_UNIFORM_INIT"); // qtbase + clang-cl hack
// avoid constexpr error connected with offsetof (QTBUG-97380)
- adjustedArgs.push_back("-D_CRT_USE_BUILTIN_OFFSETOF");
+ adjustedArgsTemp.push_back("-D_CRT_USE_BUILTIN_OFFSETOF");
#endif
- adjustedArgs.push_back("-Wno-everything");
+ adjustedArgsTemp.push_back("-Wno-everything");
for (const QByteArray &flag : compilerIncludeFlags)
- adjustedArgs.push_back(flag.data());
+ adjustedArgsTemp.push_back(flag.data());
for (auto alias : aliasDefinition) {
- adjustedArgs.push_back(alias);
+ adjustedArgsTemp.push_back(alias);
}
+
+ clang::tooling::CommandLineArguments::iterator it = llvm::find(adjustedArgs, "--");
+ adjustedArgs.insert(it, adjustedArgsTemp.begin(), adjustedArgsTemp.end());
return adjustedArgs;
};
}
@@ -461,7 +458,11 @@
ReadSynchronizedRef<std::string> ppSources(sources);
WriteSynchronizedRef<TranslationRelatedStore> ppStore(stores.Preprocessor);
size_t idealProducerCount = std::min(ppSources.size(), size_t(std::thread::hardware_concurrency()));
- clang::tooling::ArgumentsAdjuster argumentsAdjuster = getClangArgumentAdjuster();
+ clang::tooling::ArgumentsAdjuster argumentsAdjusterSyntaxOnly =
+ clang::tooling::getClangSyntaxOnlyAdjuster();
+ clang::tooling::ArgumentsAdjuster argumentsAdjusterLocal = getClangArgumentAdjuster();
+ clang::tooling::ArgumentsAdjuster argumentsAdjuster =
+ clang::tooling::combineAdjusters(argumentsAdjusterLocal, argumentsAdjusterSyntaxOnly);
for (size_t i = 0; i < idealProducerCount; ++i) {
std::thread producer([&ppSources, &db, &ppStore, &argumentsAdjuster]() {
diff -Nuar a/src/linguist/lupdate/lupdatepreprocessoraction.cpp b/src/linguist/lupdate/lupdatepreprocessoraction.cpp
--- a/src/linguist/lupdate/lupdatepreprocessoraction.cpp 2022-09-23 14:50:40.000000000 +0300
+++ b/src/linguist/lupdate/lupdatepreprocessoraction.cpp 2023-01-19 12:01:15.475030465 +0300
@@ -144,7 +144,7 @@
const char *end = sm.getCharacterData(sourceRange.getEnd());
llvm::StringRef skippedText = llvm::StringRef(begin, end - begin);
if (ClangCppParser::stringContainsTranslationInformation(skippedText)) {
- qCDebug(lcClang) << "SourceRangeSkipped: skipped text:" << skippedText.str();
+ qCDebug(lcClang) << "SourceRangeSkipped: skipped text:" << QString::fromStdString(skippedText.str());
unsigned int beginLine = sm.getExpansionLineNumber(sourceRange.getBegin());
unsigned int endLine = sm.getExpansionLineNumber(sourceRange.getEnd());
qWarning("%s Code with translation information has been skipped "
@@ -156,14 +156,23 @@
// To list the included files
void LupdatePPCallbacks::InclusionDirective(clang::SourceLocation /*hashLoc*/,
const clang::Token & /*includeTok*/, clang::StringRef /*fileName*/, bool /*isAngled*/,
- clang::CharSourceRange /*filenameRange*/, const clang::FileEntry *file,
+ clang::CharSourceRange /*filenameRange*/,
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
+ const clang::Optional<clang::FileEntryRef> file,
+#else
+ const clang::FileEntry *file,
+#endif
clang::StringRef /*searchPath*/, clang::StringRef /*relativePath*/,
const clang::Module */*imported*/, clang::SrcMgr::CharacteristicKind /*fileType*/)
{
if (!file)
return;
- clang::StringRef fileNameRealPath = file->tryGetRealPathName();
+ clang::StringRef fileNameRealPath = file->
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
+ getFileEntry().
+#endif
+ tryGetRealPathName();
if (!LupdatePrivate::isFileSignificant(fileNameRealPath.str()))
return;
diff -Nuar a/src/linguist/lupdate/lupdatepreprocessoraction.h b/src/linguist/lupdate/lupdatepreprocessoraction.h
--- a/src/linguist/lupdate/lupdatepreprocessoraction.h 2022-09-23 14:50:40.000000000 +0300
+++ b/src/linguist/lupdate/lupdatepreprocessoraction.h 2023-01-19 12:01:57.650503199 +0300
@@ -51,7 +51,12 @@
void SourceRangeSkipped(clang::SourceRange sourceRange, clang::SourceLocation endifLoc) override;
void InclusionDirective(clang::SourceLocation /*hashLoc*/, const clang::Token &/*includeTok*/,
clang::StringRef /*fileName*/, bool /*isAngled*/,
- clang::CharSourceRange /*filenameRange*/, const clang::FileEntry *file,
+ clang::CharSourceRange /*filenameRange*/,
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
+ const clang::Optional<clang::FileEntryRef> file,
+#else
+ const clang::FileEntry *file,
+#endif
clang::StringRef /*searchPath*/, clang::StringRef /*relativePath*/,
const clang::Module */*imported*/,
clang::SrcMgr::CharacteristicKind /*fileType*/) override;
+1 -1
View File
@@ -32,7 +32,7 @@
<Dependency versionFrom="6.4.0">qt6-declarative-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch level="1">qt6-tools-qtwebkit.patch</Patch> -->
<Patch level="1">llvm15.patch</Patch>
</Patches>
</Source>