Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/40953 )

Change subject: misc: Fix mismatched struct/class "tags" and reenable that warning.
......................................................................

misc: Fix mismatched struct/class "tags" and reenable that warning.

The mismatches were from places where Params structs had been declared
as classes instead of structs, and ruby's MachineID struct.

A comment describing why the warning had been disabled said that it was
because of libstdc++ version 4.8. As far as I can tell, that version is
old enough to be outside the window we support, and so that should no
longer be a problem. It looks like the oldest version of gcc we
support, 5.0, corresponds with approximately libstdc++ version 6.0.21.

https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning

Change-Id: I75ad92f3723a1883bd47e3919c5572a353344047
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40953
Reviewed-by: Gabe Black <gabe.bl...@gmail.com>
Maintainer: Gabe Black <gabe.bl...@gmail.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M SConstruct
M src/arch/arm/pmu.hh
M src/dev/arm/css/mhu.hh
M src/dev/arm/display.hh
M src/dev/arm/fvp_base_pwr_ctrl.hh
M src/dev/arm/generic_timer.hh
M src/dev/arm/gpu_nomali.hh
M src/dev/arm/watchdog_generic.hh
M src/dev/arm/watchdog_sp805.hh
M src/gpu-compute/scheduler.hh
M src/mem/qos/mem_sink.hh
M src/mem/ruby/system/GPUCoalescer.hh
M src/mem/ruby/system/VIPERCoalescer.hh
M src/sim/mem_state.hh
M src/sim/probe/probe.hh
M src/sim/ticked_object.hh
16 files changed, 24 insertions(+), 30 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/SConstruct b/SConstruct
index e1814c3..cc3af90 100755
--- a/SConstruct
+++ b/SConstruct
@@ -387,13 +387,7 @@
     # parantheses are allowed due to Ruby's printing of the AST,
     # finally self assignments are allowed as the generated CPU code
     # is relying on this
-    main.Append(CCFLAGS=['-Wno-parentheses',
-                         '-Wno-self-assign',
-                         # Some versions of libstdc++ (4.8?) seem to
-                         # use struct hash and class hash
-                         # interchangeably.
-                         '-Wno-mismatched-tags',
-                         ])
+    main.Append(CCFLAGS=['-Wno-parentheses', '-Wno-self-assign'])
     conf.CheckCxxFlag('-Wno-c99-designator')
     conf.CheckCxxFlag('-Wno-defaulted-function-deleted')

diff --git a/src/arch/arm/pmu.hh b/src/arch/arm/pmu.hh
index 3cdcf1c..e8c63bf 100644
--- a/src/arch/arm/pmu.hh
+++ b/src/arch/arm/pmu.hh
@@ -52,7 +52,7 @@
 #include "sim/sim_object.hh"
 #include "sim/system.hh"

-class ArmPMUParams;
+struct ArmPMUParams;
 class Platform;
 class ThreadContext;
 class ArmInterruptPin;
diff --git a/src/dev/arm/css/mhu.hh b/src/dev/arm/css/mhu.hh
index 17704e8..4e13605 100644
--- a/src/dev/arm/css/mhu.hh
+++ b/src/dev/arm/css/mhu.hh
@@ -41,12 +41,12 @@
 #include "dev/arm/doorbell.hh"
 #include "dev/io_device.hh"

-class Ap2ScpDoorbellParams;
+struct Ap2ScpDoorbellParams;
 class ArmInterruptPin;
 class MHU;
-class MHUParams;
+struct MHUParams;
 class Scp;
-class Scp2ApDoorbellParams;
+struct Scp2ApDoorbellParams;

 class MhuDoorbell : public Doorbell
 {
diff --git a/src/dev/arm/display.hh b/src/dev/arm/display.hh
index 1359487..91819ff 100644
--- a/src/dev/arm/display.hh
+++ b/src/dev/arm/display.hh
@@ -40,7 +40,7 @@

 #include "sim/sim_object.hh"

-class DisplayParams;
+struct DisplayParams;

 class Display : public SimObject
 {
diff --git a/src/dev/arm/fvp_base_pwr_ctrl.hh b/src/dev/arm/fvp_base_pwr_ctrl.hh
index 4b1bc4c..948ad30 100644
--- a/src/dev/arm/fvp_base_pwr_ctrl.hh
+++ b/src/dev/arm/fvp_base_pwr_ctrl.hh
@@ -44,7 +44,7 @@
 #include "dev/io_device.hh"

 class ArmSystem;
-class FVPBasePwrCtrlParams;
+struct FVPBasePwrCtrlParams;
 class ThreadContext;

 /**
diff --git a/src/dev/arm/generic_timer.hh b/src/dev/arm/generic_timer.hh
index 9a6663c..66048cc 100644
--- a/src/dev/arm/generic_timer.hh
+++ b/src/dev/arm/generic_timer.hh
@@ -64,10 +64,10 @@
 ///     I2 - System Level Implementation of the Generic Timer

 class Checkpoint;
-class SystemCounterParams;
-class GenericTimerParams;
-class GenericTimerFrameParams;
-class GenericTimerMemParams;
+struct SystemCounterParams;
+struct GenericTimerParams;
+struct GenericTimerFrameParams;
+struct GenericTimerMemParams;

 /// Abstract class for elements whose events depend on the counting speed
 /// of the System Counter
diff --git a/src/dev/arm/gpu_nomali.hh b/src/dev/arm/gpu_nomali.hh
index a096edb..e30f3ed 100644
--- a/src/dev/arm/gpu_nomali.hh
+++ b/src/dev/arm/gpu_nomali.hh
@@ -43,8 +43,8 @@
 #include "dev/io_device.hh"
 #include "libnomali/nomali.h"

-class NoMaliGpuParams;
-class CustomNoMaliGpuParams;
+struct NoMaliGpuParams;
+struct CustomNoMaliGpuParams;
 class RealView;

 class NoMaliGpu : public PioDevice
diff --git a/src/dev/arm/watchdog_generic.hh b/src/dev/arm/watchdog_generic.hh
index 24d3999..177df93 100644
--- a/src/dev/arm/watchdog_generic.hh
+++ b/src/dev/arm/watchdog_generic.hh
@@ -42,7 +42,7 @@
 #include "dev/io_device.hh"

 class ArmInterruptPin;
-class GenericWatchdogParams;
+struct GenericWatchdogParams;

 /**
  * @file
diff --git a/src/dev/arm/watchdog_sp805.hh b/src/dev/arm/watchdog_sp805.hh
index a64e4c9..5a6e962 100644
--- a/src/dev/arm/watchdog_sp805.hh
+++ b/src/dev/arm/watchdog_sp805.hh
@@ -40,7 +40,7 @@

 #include "dev/arm/amba_device.hh"

-class Sp805Params;
+struct Sp805Params;

 /**
  * @file
diff --git a/src/gpu-compute/scheduler.hh b/src/gpu-compute/scheduler.hh
index 1acf643..fbf7206 100644
--- a/src/gpu-compute/scheduler.hh
+++ b/src/gpu-compute/scheduler.hh
@@ -38,7 +38,7 @@

 #include "gpu-compute/scheduling_policy.hh"

-class ComputeUnitParams;
+struct ComputeUnitParams;

 class Scheduler
 {
diff --git a/src/mem/qos/mem_sink.hh b/src/mem/qos/mem_sink.hh
index 8a9708d..27eded5 100644
--- a/src/mem/qos/mem_sink.hh
+++ b/src/mem/qos/mem_sink.hh
@@ -46,7 +46,7 @@
 #include "mem/qport.hh"
 #include "params/QoSMemSinkCtrl.hh"

-class QoSMemSinkInterfaceParams;
+struct QoSMemSinkInterfaceParams;
 class QoSMemSinkInterface;

 namespace QoS {
diff --git a/src/mem/ruby/system/GPUCoalescer.hh b/src/mem/ruby/system/GPUCoalescer.hh
index 05d5269..01ad1d2 100644
--- a/src/mem/ruby/system/GPUCoalescer.hh
+++ b/src/mem/ruby/system/GPUCoalescer.hh
@@ -52,10 +52,10 @@

 class DataBlock;
 class CacheMsg;
-class MachineID;
+struct MachineID;
 class CacheMemory;

-class RubyGPUCoalescerParams;
+struct RubyGPUCoalescerParams;

 // List of packets that belongs to a specific instruction.
 typedef std::list<PacketPtr> PerInstPackets;
diff --git a/src/mem/ruby/system/VIPERCoalescer.hh b/src/mem/ruby/system/VIPERCoalescer.hh
index 213a675..40b32cc 100644
--- a/src/mem/ruby/system/VIPERCoalescer.hh
+++ b/src/mem/ruby/system/VIPERCoalescer.hh
@@ -46,10 +46,10 @@

 class DataBlock;
 class CacheMsg;
-class MachineID;
+struct MachineID;
 class CacheMemory;

-class VIPERCoalescerParams;
+struct VIPERCoalescerParams;

 class VIPERCoalescer : public GPUCoalescer
 {
diff --git a/src/sim/mem_state.hh b/src/sim/mem_state.hh
index c052389..d0fa9bd 100644
--- a/src/sim/mem_state.hh
+++ b/src/sim/mem_state.hh
@@ -42,7 +42,7 @@
 #include "sim/vma.hh"

 class Process;
-class ProcessParams;
+struct ProcessParams;
 class System;

 /**
diff --git a/src/sim/probe/probe.hh b/src/sim/probe/probe.hh
index 5becc26..eb0e445 100644
--- a/src/sim/probe/probe.hh
+++ b/src/sim/probe/probe.hh
@@ -69,7 +69,7 @@
 /** Forward declare the ProbeManager. */
 class ProbeManager;
 class ProbeListener;
-class ProbeListenerObjectParams;
+struct ProbeListenerObjectParams;

 /**
  * Name space containing shared probe point declarations.
diff --git a/src/sim/ticked_object.hh b/src/sim/ticked_object.hh
index 3991618..abfa801 100644
--- a/src/sim/ticked_object.hh
+++ b/src/sim/ticked_object.hh
@@ -48,7 +48,7 @@

 #include "sim/clocked_object.hh"

-class TickedObjectParams;
+struct TickedObjectParams;

 /** Ticked attaches gem5's event queue/scheduler to evaluate
  *  calls and provides a start/stop interface to ticking.

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/40953
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I75ad92f3723a1883bd47e3919c5572a353344047
Gerrit-Change-Number: 40953
Gerrit-PatchSet: 9
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to