Update clang to r339409b.
Change-Id: Ied8a188bb072c40035320acedc86164b66d920af
diff --git a/linux-x64/clang/include/llvm/IR/PassManagerInternal.h b/linux-x64/clang/include/llvm/IR/PassManagerInternal.h
index 16a3258..5ad68be 100644
--- a/linux-x64/clang/include/llvm/IR/PassManagerInternal.h
+++ b/linux-x64/clang/include/llvm/IR/PassManagerInternal.h
@@ -48,7 +48,7 @@
ExtraArgTs... ExtraArgs) = 0;
/// Polymorphic method to access the name of a pass.
- virtual StringRef name() = 0;
+ virtual StringRef name() const = 0;
};
/// A template wrapper used to implement the polymorphic API.
@@ -80,7 +80,7 @@
return Pass.run(IR, AM, ExtraArgs...);
}
- StringRef name() override { return PassT::name(); }
+ StringRef name() const override { return PassT::name(); }
PassT Pass;
};
@@ -250,7 +250,7 @@
ExtraArgTs... ExtraArgs) = 0;
/// Polymorphic method to access the name of a pass.
- virtual StringRef name() = 0;
+ virtual StringRef name() const = 0;
};
/// Wrapper to model the analysis pass concept.
@@ -290,13 +290,14 @@
AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT>>
run(IRUnitT &IR, AnalysisManager<IRUnitT, ExtraArgTs...> &AM,
ExtraArgTs... ExtraArgs) override {
- return llvm::make_unique<ResultModelT>(Pass.run(IR, AM, ExtraArgs...));
+ return llvm::make_unique<ResultModelT>(
+ Pass.run(IR, AM, std::forward<ExtraArgTs>(ExtraArgs)...));
}
/// The model delegates to a static \c PassT::name method.
///
/// The returned string ref must point to constant immutable data!
- StringRef name() override { return PassT::name(); }
+ StringRef name() const override { return PassT::name(); }
PassT Pass;
};