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]