Skip to content

Commit 3f58ec4

Browse files
authored
[NFC] Fix some warnings and errors under C++20 (#2078)
1 parent 73fa014 commit 3f58ec4

File tree

6 files changed

+17
-19
lines changed

6 files changed

+17
-19
lines changed

clang/lib/Driver/ToolChains/Cuda.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ class LLVM_LIBRARY_VISIBILITY CudaToolChain : public ToolChain {
203203

204204
unsigned GetDefaultDwarfVersion() const override { return 2; }
205205

206-
Tool *SelectTool(const JobAction &JA) const;
206+
Tool *SelectTool(const JobAction &JA) const override;
207207

208208
const ToolChain &HostTC;
209209
CudaInstallationDetector CudaInstallation;

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,7 @@ void KernelObjVisitor::VisitRecord(CXXRecordDecl *Owner, ParentTy &Parent,
935935

936936
// A base type that the SYCL OpenCL Kernel construction task uses to implement
937937
// individual tasks.
938-
template <typename Derived> class SyclKernelFieldHandler {
938+
class SyclKernelFieldHandler {
939939
protected:
940940
Sema &SemaRef;
941941
SyclKernelFieldHandler(Sema &S) : SemaRef(S) {}
@@ -1001,11 +1001,12 @@ template <typename Derived> class SyclKernelFieldHandler {
10011001
virtual bool enterArray() { return true; }
10021002
virtual bool nextElement(QualType) { return true; }
10031003
virtual bool leaveArray(FieldDecl *, QualType, int64_t) { return true; }
1004+
1005+
virtual ~SyclKernelFieldHandler() = default;
10041006
};
10051007

10061008
// A type to check the validity of all of the argument types.
1007-
class SyclKernelFieldChecker
1008-
: public SyclKernelFieldHandler<SyclKernelFieldChecker> {
1009+
class SyclKernelFieldChecker : public SyclKernelFieldHandler {
10091010
bool IsInvalid = false;
10101011
DiagnosticsEngine &Diag;
10111012

@@ -1101,8 +1102,7 @@ class SyclKernelFieldChecker
11011102
};
11021103

11031104
// A type to Create and own the FunctionDecl for the kernel.
1104-
class SyclKernelDeclCreator
1105-
: public SyclKernelFieldHandler<SyclKernelDeclCreator> {
1105+
class SyclKernelDeclCreator : public SyclKernelFieldHandler {
11061106
FunctionDecl *KernelDecl;
11071107
llvm::SmallVector<ParmVarDecl *, 8> Params;
11081108
SyclKernelFieldChecker &ArgChecker;
@@ -1286,8 +1286,7 @@ class SyclKernelDeclCreator
12861286
using SyclKernelFieldHandler::handleSyclSamplerType;
12871287
};
12881288

1289-
class SyclKernelBodyCreator
1290-
: public SyclKernelFieldHandler<SyclKernelBodyCreator> {
1289+
class SyclKernelBodyCreator : public SyclKernelFieldHandler {
12911290
SyclKernelDeclCreator &DeclCreator;
12921291
llvm::SmallVector<Stmt *, 16> BodyStmts;
12931292
llvm::SmallVector<Stmt *, 16> FinalizeStmts;
@@ -1696,12 +1695,8 @@ class SyclKernelBodyCreator
16961695
using SyclKernelFieldHandler::leaveStruct;
16971696
};
16981697

1699-
class SyclKernelIntHeaderCreator
1700-
: public SyclKernelFieldHandler<SyclKernelIntHeaderCreator> {
1698+
class SyclKernelIntHeaderCreator : public SyclKernelFieldHandler {
17011699
SYCLIntegrationHeader &Header;
1702-
const CXXRecordDecl *KernelObj;
1703-
// Necessary to figure out the offset of the base class.
1704-
const CXXRecordDecl *CurStruct = nullptr;
17051700
int64_t CurOffset = 0;
17061701

17071702
void addParam(const FieldDecl *FD, QualType ArgTy,
@@ -1720,7 +1715,7 @@ class SyclKernelIntHeaderCreator
17201715
SyclKernelIntHeaderCreator(Sema &S, SYCLIntegrationHeader &H,
17211716
const CXXRecordDecl *KernelObj, QualType NameType,
17221717
StringRef Name, StringRef StableName)
1723-
: SyclKernelFieldHandler(S), Header(H), KernelObj(KernelObj) {
1718+
: SyclKernelFieldHandler(S), Header(H) {
17241719
Header.startKernel(Name, NameType, StableName, KernelObj->getLocation());
17251720
}
17261721

llvm/include/llvm/Support/PropertySetIO.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class PropertyValue {
6060
// Casts from int value to a type tag.
6161
static Expected<Type> getTypeTag(int T) {
6262
if (T < first || T > last)
63-
return createStringError(std::error_code(), "bad property type " + T);
63+
return createStringError(std::error_code(), "bad property type ", T);
6464
return static_cast<Type>(T);
6565
}
6666

llvm/lib/Support/PropertySetIO.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ PropertySetRegistry::read(const MemoryBuffer *Buf) {
6161
case PropertyValue::Type::UINT32: {
6262
APInt ValV;
6363
if (Val.getAsInteger(10, ValV))
64-
return createStringError(EC, "invalid property value: " + Val);
64+
return createStringError(EC, "invalid property value: ", Val.data());
6565
Prop.set(static_cast<uint32_t>(ValV.getZExtValue()));
6666
break;
6767
}
6868
default:
69-
return createStringError(EC, "unsupported property type: " + Ttag.get());
69+
return createStringError(EC, "unsupported property type: ", Ttag.get());
7070
}
7171
(*CurPropSet)[Parts.first] = Prop;
7272
}
@@ -85,7 +85,8 @@ raw_ostream &operator<<(raw_ostream &Out, const PropertyValue &Prop) {
8585
Out << Prop.asUint32();
8686
break;
8787
default:
88-
llvm_unreachable_internal("unsupported property type: " + Prop.getType());
88+
llvm_unreachable(
89+
("unsupported property type: " + utostr(Prop.getType())).c_str());
8990
}
9091
return Out;
9192
}

sycl/include/CL/sycl/id.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,9 @@ template <int dimensions = 1> class id : public detail::array<dimensions> {
109109
// OP is: ==, !=
110110
#ifndef __SYCL_DISABLE_ID_TO_INT_CONV__
111111
using detail::array<dimensions>::operator==;
112+
#if __cpp_impl_three_way_comparison < 201907
112113
using detail::array<dimensions>::operator!=;
114+
#endif
113115

114116
/* Enable operators with integral types.
115117
* Template operators take precedence than type conversion. In the case of

sycl/source/detail/os_util.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ struct ModuleInfo {
5959
constexpr OSModuleHandle OSUtil::ExeModuleHandle;
6060
constexpr OSModuleHandle OSUtil::DummyModuleHandle;
6161

62-
static int callback(struct dl_phdr_info *Info, size_t Size, void *Data) {
62+
static int callback(struct dl_phdr_info *Info, size_t, void *Data) {
6363
auto Base = reinterpret_cast<unsigned char *>(Info->dlpi_addr);
6464
auto MI = reinterpret_cast<ModuleInfo *>(Data);
6565
auto TestAddr = reinterpret_cast<const unsigned char *>(MI->VirtAddr);

0 commit comments

Comments
 (0)