include-what-you-use: rebuild for llvm10

This commit is contained in:
q66 2020-05-08 20:31:20 +02:00 committed by Daniel Kolesa
parent ac2a70e5d2
commit 2e19cab18c
2 changed files with 62 additions and 1 deletions

View file

@ -0,0 +1,61 @@
--- iwyu_driver.cc
+++ iwyu_driver.cc
@@ -205,11 +205,8 @@ CompilerInstance* CreateCompilerInstance(int argc, const char **argv) {
// Initialize a compiler invocation object from the clang (-cc1) arguments.
const ArgStringList &cc_arguments = command.getArguments();
- const char** args_start = const_cast<const char**>(cc_arguments.data());
- const char** args_end = args_start + cc_arguments.size();
std::shared_ptr<CompilerInvocation> invocation(new CompilerInvocation);
- CompilerInvocation::CreateFromArgs(*invocation,
- args_start, args_end, diagnostics);
+ CompilerInvocation::CreateFromArgs(*invocation, cc_arguments, diagnostics);
invocation->getFrontendOpts().DisableFree = false;
// Use libc++ headers bundled with Xcode.app on macOS.
--- iwyu_preprocessor.cc
+++ iwyu_preprocessor.cc
@@ -34,6 +34,7 @@
#include "clang/Lex/MacroInfo.h"
using clang::FileEntry;
+using clang::FileEntryRef;
using clang::FileID;
using clang::MacroDefinition;
using clang::MacroDirective;
@@ -694,7 +695,7 @@ void IwyuPreprocessorInfo::FileChanged(SourceLocation loc,
// Called when we see an #include, but decide we don't need to
// actually read it because it's already been #included (and is
// protected by a header guard).
-void IwyuPreprocessorInfo::FileSkipped(const FileEntry& file,
+void IwyuPreprocessorInfo::FileSkipped(const FileEntryRef& file,
const Token &filename,
SrcMgr::CharacteristicKind file_type) {
CHECK_(include_filename_loc_.isValid() &&
@@ -705,11 +706,11 @@ void IwyuPreprocessorInfo::FileSkipped(const FileEntry& file,
GetInstantiationLoc(filename.getLocation());
ERRSYM(GetFileEntry(include_loc))
<< "[ (#include) ] " << include_name_as_written
- << " (" << GetFilePath(&file) << ")\n";
+ << " (" << GetFilePath(&file.getFileEntry()) << ")\n";
- AddDirectInclude(include_loc, &file, include_name_as_written);
- if (ShouldReportIWYUViolationsFor(&file)) {
- files_to_report_iwyu_violations_for_.insert(&file);
+ AddDirectInclude(include_loc, &file.getFileEntry(), include_name_as_written);
+ if (ShouldReportIWYUViolationsFor(&file.getFileEntry())) {
+ files_to_report_iwyu_violations_for_.insert(&file.getFileEntry());
}
}
--- iwyu_preprocessor.h
+++ iwyu_preprocessor.h
@@ -204,7 +204,7 @@ class IwyuPreprocessorInfo : public clang::PPCallbacks,
void FileChanged(clang::SourceLocation loc, FileChangeReason reason,
clang::SrcMgr::CharacteristicKind file_type,
clang::FileID exiting_from_id) override;
- void FileSkipped(const clang::FileEntry& file, const clang::Token &filename,
+ void FileSkipped(const clang::FileEntryRef& file, const clang::Token &filename,
clang::SrcMgr::CharacteristicKind file_type) override;
// FileChanged is actually a multi-plexer for 4 different callbacks.
void FileChanged_EnterFile(clang::SourceLocation file_beginning);

View file

@ -1,7 +1,7 @@
# Template file for 'include-what-you-use'
pkgname=include-what-you-use
version=0.13
revision=1
revision=2
wrksrc="${pkgname}"
build_style=cmake
configure_args="-DIWYU_LLVM_ROOT_PATH=${XBPS_CROSS_BASE}/usr "