summaryrefslogtreecommitdiff
path: root/src/base/bigint.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-03-07 17:46:05 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-03-07 17:46:05 +0000
commitf04e535f26ea689ad5d18a244cde8fd8e7bc3aaa (patch)
tree9775adfda1d83a376ff3b39b666e42fbc3fb83f4 /src/base/bigint.hh
parentb7ea19760ab96b70013cd0ce6f54ed6a89f0e1ca (diff)
downloadgem5-f04e535f26ea689ad5d18a244cde8fd8e7bc3aaa.tar.xz
Add some constructors and an output operator to the Twin??_t types so that o3 SPARC will compile again.
--HG-- extra : convert_revision : af987aaeac87ee92a3b55cf0839d994cf7dea1af
Diffstat (limited to 'src/base/bigint.hh')
-rw-r--r--src/base/bigint.hh19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/base/bigint.hh b/src/base/bigint.hh
index d533e662a..ed48c67fe 100644
--- a/src/base/bigint.hh
+++ b/src/base/bigint.hh
@@ -28,12 +28,21 @@
* Authors: Ali Saidi
*/
+#include <iostream>
+
#ifndef __BASE_BIGINT_HH__
#define __BASE_BIGINT_HH__
// Create a couple of large int types for atomic reads
struct m5_twin64_t {
uint64_t a;
uint64_t b;
+ m5_twin64_t()
+ {}
+ m5_twin64_t(const uint64_t x)
+ {
+ a = x;
+ b = x;
+ }
inline m5_twin64_t& operator=(const uint64_t x)
{
a = x;
@@ -45,6 +54,13 @@ struct m5_twin64_t {
struct m5_twin32_t {
uint32_t a;
uint32_t b;
+ m5_twin32_t()
+ {}
+ m5_twin32_t(const uint32_t x)
+ {
+ a = x;
+ b = x;
+ }
inline m5_twin32_t& operator=(const uint32_t x)
{
a = x;
@@ -59,6 +75,9 @@ struct m5_twin32_t {
typedef m5_twin64_t Twin64_t;
typedef m5_twin32_t Twin32_t;
+// Output operator overloads
+std::ostream & operator << (std::ostream & os, const Twin64_t & t);
+std::ostream & operator << (std::ostream & os, const Twin32_t & t);
#endif // __BASE_BIGINT_HH__