[PATCH] D50540: Further g++ 8 warning fixes
David CARLIER via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 9 16:11:55 PDT 2018
devnexen created this revision.
devnexen added reviewers: Eugene.Zelenko, craig.topper.
devnexen created this object with visibility "All Users".
Herald added subscribers: llvm-commits, javed.absar, MatzeB.
- Loosen up function pointers specifics then typing to the generic type.
- Fixing non copyable object warning
Repository:
rL LLVM
https://reviews.llvm.org/D50540
Files:
include/llvm/CodeGen/MachinePassRegistry.h
include/llvm/CodeGen/MachineScheduler.h
include/llvm/CodeGen/SchedulerRegistry.h
lib/CodeGen/RegisterPressure.cpp
Index: lib/CodeGen/RegisterPressure.cpp
===================================================================
--- lib/CodeGen/RegisterPressure.cpp
+++ lib/CodeGen/RegisterPressure.cpp
@@ -631,7 +631,7 @@
void PressureDiffs::init(unsigned N) {
Size = N;
if (N <= Max) {
- memset(PDiffArray, 0, N * sizeof(PressureDiff));
+ memset(reinterpret_cast<void *>(PDiffArray), 0, N * sizeof(PressureDiff));
return;
}
Max = Size;
Index: include/llvm/CodeGen/SchedulerRegistry.h
===================================================================
--- include/llvm/CodeGen/SchedulerRegistry.h
+++ include/llvm/CodeGen/SchedulerRegistry.h
@@ -37,7 +37,7 @@
static MachinePassRegistry Registry;
RegisterScheduler(const char *N, const char *D, FunctionPassCtor C)
- : MachinePassRegistryNode(N, D, (MachinePassCtor)C)
+ : MachinePassRegistryNode(N, D, reinterpret_cast<MachinePassCtor>(reinterpret_cast<void *>(C)))
{ Registry.Add(this); }
~RegisterScheduler() { Registry.Remove(this); }
Index: include/llvm/CodeGen/MachineScheduler.h
===================================================================
--- include/llvm/CodeGen/MachineScheduler.h
+++ include/llvm/CodeGen/MachineScheduler.h
@@ -142,7 +142,8 @@
static MachinePassRegistry Registry;
MachineSchedRegistry(const char *N, const char *D, ScheduleDAGCtor C)
- : MachinePassRegistryNode(N, D, (MachinePassCtor)C) {
+ : MachinePassRegistryNode(N, D, reinterpret_cast<MachinePassCtor>(
+ reinterpret_cast<void *>(C))) {
Registry.Add(this);
}
Index: include/llvm/CodeGen/MachinePassRegistry.h
===================================================================
--- include/llvm/CodeGen/MachinePassRegistry.h
+++ include/llvm/CodeGen/MachinePassRegistry.h
@@ -119,18 +119,20 @@
// Add existing passes to option.
for (RegistryClass *Node = RegistryClass::getList();
Node; Node = Node->getNext()) {
- this->addLiteralOption(Node->getName(),
- (typename RegistryClass::FunctionPassCtor)Node->getCtor(),
- Node->getDescription());
+ this->addLiteralOption(
+ Node->getName(),
+ reinterpret_cast<typename RegistryClass::FunctionPassCtor>(
+ reinterpret_cast<void *>(Node->getCtor())),
+ Node->getDescription());
}
// Make sure we listen for list changes.
RegistryClass::setListener(this);
}
// Implement the MachinePassRegistryListener callbacks.
void NotifyAdd(StringRef N, MachinePassCtor C, StringRef D) override {
- this->addLiteralOption(N, (typename RegistryClass::FunctionPassCtor)C, D);
+ this->addLiteralOption(N, reinterpret_cast<typename RegistryClass::FunctionPassCtor>(reinterpret_cast<void *>(C)), D);
}
void NotifyRemove(StringRef N) override {
this->removeLiteralOption(N);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50540.160033.patch
Type: text/x-patch
Size: 2895 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180809/704c06ef/attachment.bin>
More information about the llvm-commits
mailing list