fix compilation for gcc 4.6.1
authorAndrew Waterman <waterman@s143.Millennium.Berkeley.EDU>
Thu, 12 Jan 2012 01:35:03 +0000 (17:35 -0800)
committerAndrew Waterman <waterman@s143.Millennium.Berkeley.EDU>
Thu, 12 Jan 2012 01:35:03 +0000 (17:35 -0800)
riscv/disasm.cc
riscv/htif.cc

index b427191e07aa39bc3119e45e20cb5b74bd7e9867..d028dc1a8d694d7ed1212557848deac639bef297 100644 (file)
@@ -3,6 +3,7 @@
 #include <vector>
 #include <cstdarg>
 #include <sstream>
+#include <stdlib.h>
 
 class arg_t
 {
@@ -28,6 +29,7 @@ static const char* fpr_to_string[] = {
 class load_address_t : public arg_t
 {
  public:
+  load_address_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -39,6 +41,7 @@ class load_address_t : public arg_t
 class store_address_t : public arg_t
 {
  public:
+  store_address_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -52,6 +55,7 @@ class store_address_t : public arg_t
 class amo_address_t : public arg_t
 {
  public:
+  amo_address_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -63,6 +67,7 @@ class amo_address_t : public arg_t
 class xrd_reg_t : public arg_t
 {
  public:
+  xrd_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return xpr_to_string[insn.itype.rd];
@@ -72,6 +77,7 @@ class xrd_reg_t : public arg_t
 class xrs1_reg_t : public arg_t
 {
  public:
+  xrs1_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return xpr_to_string[insn.itype.rs1];
@@ -81,6 +87,7 @@ class xrs1_reg_t : public arg_t
 class xrs2_reg_t : public arg_t
 {
  public:
+  xrs2_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return xpr_to_string[insn.rtype.rs2];
@@ -90,6 +97,7 @@ class xrs2_reg_t : public arg_t
 class frd_reg_t : public arg_t
 {
  public:
+  frd_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return fpr_to_string[insn.ftype.rd];
@@ -99,6 +107,7 @@ class frd_reg_t : public arg_t
 class frs1_reg_t : public arg_t
 {
  public:
+  frs1_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return fpr_to_string[insn.ftype.rs1];
@@ -108,6 +117,7 @@ class frs1_reg_t : public arg_t
 class frs2_reg_t : public arg_t
 {
  public:
+  frs2_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return fpr_to_string[insn.ftype.rs2];
@@ -117,6 +127,7 @@ class frs2_reg_t : public arg_t
 class frs3_reg_t : public arg_t
 {
  public:
+  frs3_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     return fpr_to_string[insn.ftype.rs3];
@@ -126,6 +137,7 @@ class frs3_reg_t : public arg_t
 class pcr_reg_t : public arg_t
 {
  public:
+  pcr_reg_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -137,6 +149,7 @@ class pcr_reg_t : public arg_t
 class imm_t : public arg_t
 {
  public:
+  imm_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -148,6 +161,7 @@ class imm_t : public arg_t
 class bigimm_t : public arg_t
 {
  public:
+  bigimm_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -159,6 +173,7 @@ class bigimm_t : public arg_t
 class branch_target_t : public arg_t
 {
  public:
+  branch_target_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
@@ -174,6 +189,7 @@ class branch_target_t : public arg_t
 class jump_target_t : public arg_t
 {
  public:
+  jump_target_t() {}
   virtual std::string to_string(insn_t insn) const
   {
     std::stringstream s;
index 3bb8b9914c47ad10e13bbecad09c96cd3299113c..ab27f01d4e2fbefd2e9affa28d63103e82ac0ac5 100644 (file)
@@ -6,6 +6,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
+#include <stddef.h>
 
 enum
 {