misc: Use compiler.hh macros when available.
authorGabe Black <gabeblack@google.com>
Wed, 14 Oct 2020 07:38:42 +0000 (00:38 -0700)
committerGabe Black <gabeblack@google.com>
Mon, 19 Oct 2020 05:52:40 +0000 (05:52 +0000)
Some places were hand coding __attribute__s when macros in compiler.hh
were available to do that job. Using the macros helps abstract away
compiler specific details and should be used when possible.

Change-Id: I94befebcfde2d673e874e9959588f69781bd9021
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35975
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/isa/insts/sve.isa
src/arch/x86/linux/linux.hh
src/base/inet.hh
src/gpu-compute/compute_unit.hh
src/sim/init.cc

index 242ae34aceda290fb497d724405253a4acba27f5..0b0adf44560b5b4848c9b77e298a8e22e24e7e65 100644 (file)
@@ -2007,8 +2007,7 @@ let {{
         destPred.reset();
         for (unsigned i = 0; i < eCount; i++) {
             const Element& srcElem1 = AA64FpOp1_x[i];
-            %(src_elem_2_ty)s srcElem2 __attribute__((unused)) =
-                                                            %(src_elem_2)s;
+            M5_VAR_USED %(src_elem_2_ty)s srcElem2 = %(src_elem_2)s;
             bool destElem = false;
             if (tmpPred[i]) {
                 %(op)s
index de27a742b9033f4a5b87ef5e98d458c03e146ba7..e89cc57dcb34edb955482272bef9d9cef96d6b1b 100644 (file)
@@ -243,7 +243,7 @@ class X86Linux32 : public X86Linux
 {
   public:
 
-    typedef struct {
+    typedef struct M5_ATTR_PACKED {
         uint64_t st_dev;
         uint8_t __pad0[4];
         uint32_t __st_ino;
@@ -263,7 +263,7 @@ class X86Linux32 : public X86Linux
         uint32_t st_ctimeX;
         uint32_t st_ctime_nsec;
         uint64_t st_ino;
-    } __attribute__((__packed__)) tgt_stat64;
+    } tgt_stat64;
 
     static const int TGT_SIGHUP         = 0x000001;
     static const int TGT_SIGINT         = 0x000002;
index 8aa4475087ab4e2a828491036f59130f355b88c4..817954eb3aa29629a67e26ed79c35bcf5a01c013 100644 (file)
@@ -563,13 +563,13 @@ struct ip6_opt_routing_type2 {
 };
 
 #define HOME_ADDRESS_OPTION 0xC9
-struct ip6_opt_dstopts {
+struct M5_ATTR_PACKED ip6_opt_dstopts {
     uint8_t type;
     uint8_t length;
     ip6_addr_t addr;
-} __attribute__((packed));
+};
 
-struct ip6_opt_hdr
+struct M5_ATTR_PACKED ip6_opt_hdr
 {
     uint8_t ext_nxt;
     uint8_t ext_len;
@@ -578,7 +578,7 @@ struct ip6_opt_hdr
         struct ip6_opt_routing_type2 rtType2;
         struct ip6_opt_dstopts dstOpts;
     } ext_data;
-} __attribute__((packed));
+};
 
 struct Ip6Opt : public ip6_opt_hdr
 {
index 5b1e8de95fb67a5f3d01acf83b69783af88a1161..3ca678e0aaf972d47a9594e3593cb8ba756034af 100644 (file)
@@ -40,6 +40,7 @@
 #include <vector>
 
 #include "base/callback.hh"
+#include "base/compiler.hh"
 #include "base/statistics.hh"
 #include "base/types.hh"
 #include "config/the_gpu_isa.hh"
@@ -620,8 +621,7 @@ class ComputeUnit : public ClockedObject
     int32_t
     getRefCounter(const uint32_t dispatchId, const uint32_t wgId) const;
 
-    bool
-    sendToLds(GPUDynInstPtr gpuDynInst) __attribute__((warn_unused_result));
+    M5_NODISCARD bool sendToLds(GPUDynInstPtr gpuDynInst);
 
     typedef std::unordered_map<Addr, std::pair<int, int>> pageDataStruct;
     pageDataStruct pageAccesses;
index 7b2e7e4a86a43105287df9daf4c865f674be0f1b..73d4dbd703e76619abdfc3f0bef1f4cde5e5f4b2 100644 (file)
@@ -51,6 +51,7 @@
 #include <string>
 #include <vector>
 
+#include "base/compiler.hh"
 #include "base/cprintf.hh"
 #include "base/logging.hh"
 #include "base/types.hh"
@@ -245,7 +246,7 @@ registerNativeModules()
  * Make the commands array weak so that they can be overridden (used
  * by unit tests to specify a different python main function.
  */
-const char * __attribute__((weak)) m5MainCommands[] = {
+M5_WEAK const char *m5MainCommands[] = {
     "import m5",
     "m5.main()",
     0 // sentinel is required