[PATCH] D154782: [NFC] Fix builds on recent GCC with C++20 enabled
Alexander Batashev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 9 01:55:17 PDT 2023
alexbatashev created this revision.
Herald added subscribers: ormris, okura, jdoerfert, kuter, hiraditya.
Herald added a project: All.
alexbatashev requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
The following pattern fails on recent GCC versions with -std=c++20 flag passed
and succeeds with -std=c++17. Such behavior is not observed on Clang 16.0.
c++
template <typename T>
struct Foo {
Foo<T>(int a) {}
};
This patch removes template parameter from constructor in two occurences to
make the following command complete successfully:
bazel build -c fastbuild --cxxopt=-std=c++20 --host_cxxopt=-std=c++20 @llvm-project//llvm/...
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D154782
Files:
llvm/include/llvm/CodeGen/ByteProvider.h
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Index: llvm/lib/Transforms/IPO/AttributorAttributes.cpp
===================================================================
--- llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+++ llvm/lib/Transforms/IPO/AttributorAttributes.cpp
@@ -3622,8 +3622,7 @@
struct CachedReachabilityAA : public BaseTy {
using RQITy = ReachabilityQueryInfo<ToTy>;
- CachedReachabilityAA<BaseTy, ToTy>(const IRPosition &IRP, Attributor &A)
- : BaseTy(IRP, A) {}
+ CachedReachabilityAA(const IRPosition &IRP, Attributor &A) : BaseTy(IRP, A) {}
/// See AbstractAttribute::isQueryAA.
bool isQueryAA() const override { return true; }
Index: llvm/include/llvm/CodeGen/ByteProvider.h
===================================================================
--- llvm/include/llvm/CodeGen/ByteProvider.h
+++ llvm/include/llvm/CodeGen/ByteProvider.h
@@ -29,8 +29,7 @@
/// are used to extract Bytes.
template <typename ISelOp> class ByteProvider {
private:
- ByteProvider<ISelOp>(std::optional<ISelOp> Src, int64_t DestOffset,
- int64_t SrcOffset)
+ ByteProvider(std::optional<ISelOp> Src, int64_t DestOffset, int64_t SrcOffset)
: Src(Src), DestOffset(DestOffset), SrcOffset(SrcOffset) {}
// TODO -- use constraint in c++20
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154782.538408.patch
Type: text/x-patch
Size: 1245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230709/3b07d68a/attachment.bin>
More information about the llvm-commits
mailing list