From: Ismael Luceno Subject: Fix build with GCC 4.x Specifies methods explicitly and avoids unnecesary type casts. -- diff -ur aplus-fsf-4.22.orig/src/MSTypes/MSBuiltinTypeVectorInlines.C aplus-fsf-4.22/src/MSTypes/MSBuiltinTypeVectorInlines.C --- aplus-fsf-4.22.orig/src/MSTypes/MSBuiltinTypeVectorInlines.C 2008-03-31 13:45:07.000000000 -0300 +++ aplus-fsf-4.22/src/MSTypes/MSBuiltinTypeVectorInlines.C 2015-03-04 23:01:42.288609942 -0300 @@ -77,7 +77,7 @@ template INLINELINKAGE MSBuiltinVector MSBuiltinVector::operator[] (const MSBinaryVector & bVect_) const { - return compress (*this, bVect_); + return this->compress (*this, bVect_); } diff -ur aplus-fsf-4.22.orig/src/MSTypes/MSFloat.C aplus-fsf-4.22/src/MSTypes/MSFloat.C --- aplus-fsf-4.22.orig/src/MSTypes/MSFloat.C 2008-03-27 16:10:29.000000000 -0300 +++ aplus-fsf-4.22/src/MSTypes/MSFloat.C 2015-03-05 00:28:34.858745108 -0300 @@ -111,7 +111,8 @@ MSError::ErrorStatus MSFloat::internalSet(const char *pString_) { - char *np,buf[512]; + const char *np; + char buf[512]; _real=0.0; _flags=MSFloat::Set; // clear the Valid bit, i.e. isValid==MSFalse @@ -128,7 +129,7 @@ { return (MSError::BadReal); } // Disallow leading commas // Make sure we don't save too many characters after the decimal - char *decimal=strchr(pString_,'.'); + const char *decimal=strchr(pString_,'.'); if ((decimal!=0)&&(strlen(decimal+1)>MSRealMaximumLength)) { return (MSError::IntTooBig); } strcpy(buf,pString_); diff -ur aplus-fsf-4.22.orig/src/MSTypes/MSObjectTypeVectorInlines.C aplus-fsf-4.22/src/MSTypes/MSObjectTypeVectorInlines.C --- aplus-fsf-4.22.orig/src/MSTypes/MSObjectTypeVectorInlines.C 2008-03-31 13:45:06.000000000 -0300 +++ aplus-fsf-4.22/src/MSTypes/MSObjectTypeVectorInlines.C 2015-03-04 22:43:29.513581606 -0300 @@ -87,7 +87,7 @@ template INLINELINKAGE MSObjectVector MSObjectVector::operator[] (const MSBinaryVector & bVect_) const { - return compress (*this, bVect_); + return this->compress (*this, bVect_); } diff -ur aplus-fsf-4.22.orig/src/MSTypes/MSObservableTree.C aplus-fsf-4.22/src/MSTypes/MSObservableTree.C --- aplus-fsf-4.22.orig/src/MSTypes/MSObservableTree.C 2008-03-27 16:10:49.000000000 -0300 +++ aplus-fsf-4.22/src/MSTypes/MSObservableTree.C 2015-03-04 21:58:13.817511186 -0300 @@ -94,7 +94,7 @@ void MSObservableTree::removeSubtree(const MSTabularTreeCursor& cursor_) { MSTabularTreeCursor cursor2(cursor_); - unsigned long pos=position(cursor2); + unsigned long pos=this->position(cursor2); cursor2.setToParent(); MSTabularTree::removeSubtree(cursor_); if (cursor2.isValid()) changed(cursor2,pos,MSObservableTreeDelete); @@ -162,7 +162,7 @@ void MSObservableTree::replaceAt(MSTabularTreeCursor const& cursor_,Element const& element_) { MSTabularTree::replaceAt(cursor_,element_); - changed(cursor_,position(cursor_),MSObservableTreeAssign); + changed(cursor_,this->position(cursor_),MSObservableTreeAssign); } template @@ -170,10 +170,10 @@ { if (&tree_!=this) { - if (isRoot(cursor_)) copy(tree_); + if (this->isRoot(cursor_)) copy(tree_); else { - unsigned long pos=position(cursor_); + unsigned long pos=this->position(cursor_); MSTabularTreeCursor cursor=cursor_; cursor.setToParent(); MSTabularTree::removeSubtree(cursor_); @@ -199,7 +199,7 @@ template void MSObservableTree::elementChanged(MSTabularTreeCursor const& cursor_) { - changed(cursor_,position(cursor_),MSObservableTreeAssign); + changed(cursor_,this->position(cursor_),MSObservableTreeAssign); } template diff -ur aplus-fsf-4.22.orig/src/MSTypes/MSUtil.C aplus-fsf-4.22/src/MSTypes/MSUtil.C --- aplus-fsf-4.22.orig/src/MSTypes/MSUtil.C 2008-03-27 16:10:34.000000000 -0300 +++ aplus-fsf-4.22/src/MSTypes/MSUtil.C 2015-03-05 02:59:50.033980433 -0300 @@ -25,7 +25,7 @@ void MSUtil::comma(const char *fromBuffer_,char *toBuffer_,int size_) { int places,len,i,j; - char *cp; + const char *cp; if ((cp=strchr(fromBuffer_,'.'))!=NULL) { .