Package: tyvis
Severity: normal
Tags: patch

When building 'tyvis' on amd64 with gcc-4.0,
I get the following error:

 x86_64-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../src/tyvis -g -O2 -MT 
EnumerationType.lo -MD -MP -MF .deps/EnumerationType.Tpo -c 
tyvis/EnumerationType.cc  -fPIC -DPIC -o .libs/EnumerationType.o
./tyvis/Signal.cc: In member function 'ObjectBase& 
Signal<Type>::operator=(const ObjectBase&)':
./tyvis/Signal.cc:100: error: request for member 'isCompositeResolvedSignal' in 
'dynamic_cast<const SignalBase&>(s)', which is of non-class type 'const 
SignalBase&'
make[2]: *** [EnumerationType.lo] Error 1
make[2]: Leaving directory `/tyvis-20031216/src'

With the attached patch 'tyvis' can be compiled
on amd64 using gcc-4.0.

The attached patch includes a patch which was already necessary for gcc-3.4.

Regards
Andreas Jochens

diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/ImplicitSignal.cc 
./src/tyvis/ImplicitSignal.cc
--- ../tmp-orig/tyvis-20031216/src/tyvis/ImplicitSignal.cc      2003-12-08 
20:24:39.000000000 +0100
+++ ./src/tyvis/ImplicitSignal.cc       2005-02-09 14:57:14.039786995 +0100
@@ -25,7 +25,7 @@
 inline
 ImplicitSignal<Type>::ImplicitSignal(const int i): timeval( 
VHDLVTime::getVHDLVTimeZero() ){
   sensitive = true;
-  numAttributes = 0;
+  this->numAttributes = 0;
   attributeList = NULL;
   allAttributes.sigtype = drvVal.getUniversalKind();
   source = NULL;
@@ -50,7 +50,7 @@
 ImplicitSignal<Type>::ImplicitSignal(const char* newname) : 
SignalBase(newname), 
   timeval( VHDLVTime::getVHDLVTimeZero() ) {
   sensitive = true;
-  numAttributes = 0;
+  this->numAttributes = 0;
   attributeList = NULL;
   source = NULL;
 }
diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/ImplicitSignal.hh 
./src/tyvis/ImplicitSignal.hh
--- ../tmp-orig/tyvis-20031216/src/tyvis/ImplicitSignal.hh      2003-12-04 
20:13:18.000000000 +0100
+++ ./src/tyvis/ImplicitSignal.hh       2005-02-09 14:57:14.118771720 +0100
@@ -44,7 +44,7 @@
                    const ArrayInfo* = NULL);
   VHDLData* readEffVal();
   VHDLVTime& readTimeVal();
-  VHDLVTime& updateTimeVal(const VHDLVTime& v = ZERO);
+  VHDLVTime& updateTimeVal(const VHDLVTime& v = 0);
 
   ObjectBase& operator=(const ObjectBase&);
   ObjectBase& operator=(const VHDLData&);
diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/Signal.cc ./src/tyvis/Signal.cc
--- ../tmp-orig/tyvis-20031216/src/tyvis/Signal.cc      2003-12-16 
16:20:28.000000000 +0100
+++ ./src/tyvis/Signal.cc       2005-02-09 15:00:55.886882278 +0100
@@ -63,7 +63,7 @@
   // newd/deleted/copied.
   type = s.type;
   sensitive = s.sensitive;
-  numAttributes = s.numAttributes;
+  this->numAttributes = s.numAttributes;
   fanDest = s.fanDest;
   attributeList = s.attributeList;
   compositeResolvedSignal = false;
@@ -97,7 +97,7 @@
     // beginning of the simulation, and deleted at the end.  SO, everyone
     // looks at the same memory, and it never needs to be
     // newd/deleted/copied.
-    compositeResolvedSignal =  dynamic_cast<const SignalBase 
&>(s).isCompositeResolvedSignal();
+    this->compositeResolvedSignal =  dynamic_cast<const Signal<Type> 
&>(s).isCompositeResolvedSignal();
     break;
   case VARIABLE:
     drvVal = s.readVal();
diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/Signal.hh ./src/tyvis/Signal.hh
--- ../tmp-orig/tyvis-20031216/src/tyvis/Signal.hh      2003-12-04 
20:13:18.000000000 +0100
+++ ./src/tyvis/Signal.hh       2005-02-09 14:57:14.197756445 +0100
@@ -12,8 +12,8 @@
     $Id: Signal.hh,v 1.1 2003/12/04 19:13:18 dmartin Exp $ */
 
 #include "tyvis/SignalBase.hh"
+#include "tyvis/SourceBase.hh"
 
-class SourceBase;
 class VHDLProcess;
 
 template <class Type> 
diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/UniversalLongLongInteger.cc 
./src/tyvis/UniversalLongLongInteger.cc
--- ../tmp-orig/tyvis-20031216/src/tyvis/UniversalLongLongInteger.cc    
2003-12-05 23:29:53.000000000 +0100
+++ ./src/tyvis/UniversalLongLongInteger.cc     2005-02-09 14:57:14.259744456 
+0100
@@ -14,7 +14,7 @@
   case UNIVERSAL_INTEGER:
   case UNIVERSAL_REAL:
   case UNIVERSAL_LONG_LONG_INTEGER:
-    return UniversalLongLongInteger(toCast.getInt64Value());
+    return UniversalLongLongInteger((LONG)toCast.getInt64Value());
   default:
     cerr << toCast.getUniversalKind() 
         << " cannot be type casted into an UniversalLongLongInteger ! " << 
endl;
diff -urN ../tmp-orig/tyvis-20031216/src/tyvis/Variable.hh 
./src/tyvis/Variable.hh
--- ../tmp-orig/tyvis-20031216/src/tyvis/Variable.hh    2003-12-04 
20:13:19.000000000 +0100
+++ ./src/tyvis/Variable.hh     2005-02-09 14:57:14.322732275 +0100
@@ -74,7 +74,7 @@
   ~Variable(){}; 
 
   //  Variable(const Variable<char*>&);
-  void print(ostream &os = cout) const  {
+  void print(ostream &os = std::cout) const  {
     os << "Variable: " << variableType << ": val(" << val << ")";    
   }
   
diff -urN ../tmp-orig/tyvis-20031216/test/UniversalLongLongIntegerTest.cc 
./test/UniversalLongLongIntegerTest.cc
--- ../tmp-orig/tyvis-20031216/test/UniversalLongLongIntegerTest.cc     
2003-12-08 15:55:46.000000000 +0100
+++ ./test/UniversalLongLongIntegerTest.cc      2005-02-09 14:57:14.000000000 
+0100
@@ -12,7 +12,7 @@
 
 void 
 UniversalLongLongIntegerTest::setUp(){
-  toTest = new UniversalLongLongInteger( getDefaultValue() );
+  toTest = new UniversalLongLongInteger( (LONG) getDefaultValue() );
 }
 
 void 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to