Package: ivi
Severity: normal
Tags: patch
When building 'ivi' on amd64 with gcc-4.0,
I get the following error:
./vector.h:143: error: template definition of non-template 'int
Vector<vType>::remove(vType*)'
./vector.h:175: error: no 'void Vector<vType>::swap()' member function declared
in class 'Vector<vType>'
./vector.h:175: error: template definition of non-template 'void
Vector<vType>::swap()'
./vector.h:184: error: prototype for 'void Vector<vType>::swap(Uint32, Uint32)'
does not match any in class 'Vector<vType>'
./vector.h:175: error: candidate is: void Vector<vType>::swap()
./vector.h:184: error: template definition of non-template 'void
Vector<vType>::swap(Uint32, Uint32)'
./vector.h:203: error: no 'void Vector<vType>::setEqual(Vector<vType>*)' member
function declared in class 'Vector<vType>'
./vector.h:203: error: template definition of non-template 'void
Vector<vType>::setEqual(Vector<vType>*)'
./vector.h: In member function 'void Vector<vType>::setEqual(Vector<vType>*)':
./vector.h:206: error: there are no arguments to 'empty' that depend on a
template parameter, so a declaration of 'empty' must be available
./vector.h:206: error: (if you use '-fpermissive', G++ will accept your code,
but allowing the use of an undeclared name is deprecated)
./DFIO.cc: In member function 'Int32 DFIO::base_addTrace(DFIOTrace*)':
./DFIO.cc:188: error: 'class Vector<DFIOTrace>' has no member named 'append'
make[3]: *** [DFIO.o] Error 1
make[3]: Leaving directory `/ivi-0.4.pre.20031121/src/common'
With the attached patch 'ivi' can be compiled
on amd64 using gcc-4.0.
Regards
Andreas Jochens
diff -urN ../tmp-orig/ivi-0.4.pre.20031121/src/common/vector.h
./src/common/vector.h
--- ../tmp-orig/ivi-0.4.pre.20031121/src/common/vector.h 2003-11-21
02:57:51.000000000 +0100
+++ ./src/common/vector.h 2005-03-17 22:40:04.000000000 +0100
@@ -59,21 +59,21 @@
return numObjs;
}
- virtual void Vector<vType>::empty(void) {
+ virtual void empty(void) {
numObjs = 0;
}
- virtual void Vector<vType>::append(vType *newObj);
- virtual void Vector<vType>::append(Vector<vType> *aVect);
- virtual void Vector<vType>::append(Vector<vType> *aVect,
+ virtual void append(vType *newObj);
+ virtual void append(Vector<vType> *aVect);
+ virtual void append(Vector<vType> *aVect,
Uint32 startIdx, Uint32 endIdx);
- virtual int Vector<vType>::remove(vType *rm_el);
+ virtual int remove(vType *rm_el);
- virtual void Vector<vType>::setEqual(Vector<vType> *aVect);
+ virtual void setEqual(Vector<vType> *aVect);
- virtual void Vector<vType>::swap(void);
- virtual void Vector<vType>::swap(Uint32 startIdx, Uint32 endIdx);
+ virtual void swap(void);
+ virtual void swap(Uint32 startIdx, Uint32 endIdx);
vType **get_storage() { return objArray; }
diff -urN ../tmp-orig/ivi-0.4.pre.20031121/src/common/ConfigDB.cc
./src/common/ConfigDB.cc
--- ../tmp-orig/ivi-0.4.pre.20031121/src/common/ConfigDB.cc 2003-11-21
02:57:51.000000000 +0100
+++ ./src/common/ConfigDB.cc 2005-03-17 22:42:13.700286128 +0100
@@ -1015,7 +1015,7 @@
parentInterp, objv[3]);
char buf[20];
- sprintf(buf, "0x%08x", (Uint32)cb);
+ sprintf(buf, "0x%16x", (unsigned long)cb);
Tcl_SetObjResult(parentInterp, Tcl_NewStringObj(buf, -1));
} break;
diff -urN ../tmp-orig/ivi-0.4.pre.20031121/src/common/DesignDB.cc
./src/common/DesignDB.cc
--- ../tmp-orig/ivi-0.4.pre.20031121/src/common/DesignDB.cc 2003-11-21
02:57:51.000000000 +0100
+++ ./src/common/DesignDB.cc 2005-03-17 22:41:18.737946344 +0100
@@ -836,7 +836,7 @@
Char *argvO[128], *optO[128], buf[128];
Int32 optTO[128], ret;
Uint32 argcO, optcO, i, getSigs = 1, len = 0;
- Uint32 msb, lsb;
+ unsigned long msb, lsb;
Vector<TreeNode> *result;
Char *elemType = "@signals@";
boolean size = false;
@@ -875,8 +875,8 @@
for (i=0; (i<512 && i<result->length()); i++) {
if (size && getSigs) {
- msb = (Uint32)result->idx(i)->findField("sigMsb")->getVoidVal();
- lsb = (Uint32)result->idx(i)->findField("sigLsb")->getVoidVal();
+ msb = (unsigned
long)result->idx(i)->findField("sigMsb")->getVoidVal();
+ lsb = (unsigned
long)result->idx(i)->findField("sigLsb")->getVoidVal();
if (lsb || msb) {
len = sprintf(buf, "%s[%d:%d]",
result->idx(i)->nodeName->value(),
@@ -915,7 +915,7 @@
Vector<TreeNode> *list;
Tcl_Obj *name_list[512];
Tcl_Obj *ret = 0;
- Uint32 i, msb, lsb;
+ unsigned long i, msb, lsb;
Char buf[128];
if (modPath[1] == 0) {
@@ -932,8 +932,8 @@
for (i=0; (i<512 && i<list->length()); i++) {
if (!strcmp(resource, "signals")) {
- msb = (Uint32)list->idx(i)->findField("sigMsb")->getVoidVal();
- lsb = (Uint32)list->idx(i)->findField("sigLsb")->getVoidVal();
+ msb = (unsigned
long)list->idx(i)->findField("sigMsb")->getVoidVal();
+ lsb = (unsigned
long)list->idx(i)->findField("sigLsb")->getVoidVal();
if (lsb || msb) {
sprintf(buf, "%s[%d:%d]", list->idx(i)->nodeName->value(),
msb, lsb);
diff -urN ../tmp-orig/ivi-0.4.pre.20031121/src/common/SigDB.cc
./src/common/SigDB.cc
--- ../tmp-orig/ivi-0.4.pre.20031121/src/common/SigDB.cc 2003-11-21
02:57:51.000000000 +0100
+++ ./src/common/SigDB.cc 2005-03-17 22:41:52.860328039 +0100
@@ -323,7 +323,7 @@
s_vpi_time time_s;
p_vpi_time time_p;
p_cb_data cb_data_p;
- Uint32 msb, lsb, i;
+ unsigned long msb, lsb, i;
/**** Pick up the simulation resolution ****/
resolution = sim->vpi_get(vpiTimePrecision, 0);
@@ -337,8 +337,8 @@
if (!newTrace) {
vpiHndl = (vpiHandle)sig->findField("vpiHandle")->getVoidVal();
- msb = (Uint32)sig->findField("sigMsb")->getVoidVal();
- lsb = (Uint32)sig->findField("sigLsb")->getVoidVal();
+ msb = (unsigned long)sig->findField("sigMsb")->getVoidVal();
+ lsb = (unsigned long)sig->findField("sigLsb")->getVoidVal();
newTrace = dfio->newTrace(name, 0, msb, lsb, 16);
newTrace->userData[0] = sim;
diff -urN ../tmp-orig/ivi-0.4.pre.20031121/src/shm_dfio/ShmDFIOFile.cc
./src/shm_dfio/ShmDFIOFile.cc
--- ../tmp-orig/ivi-0.4.pre.20031121/src/shm_dfio/ShmDFIOFile.cc
2003-11-21 02:57:51.000000000 +0100
+++ ./src/shm_dfio/ShmDFIOFile.cc 2005-03-17 22:44:20.248744668 +0100
@@ -236,7 +236,7 @@
d_base = (char *)mmap(0, maplen, PROT_READ|PROT_WRITE,
MAP_SHARED, d_fd, 0);
- if (!d_base || ((int)d_base) == -1) {
+ if (!d_base || ((long)d_base) == -1) {
perror("cannot map file");
return -1;
}
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]