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]