I tried building LibreOffice with svn trunk gcc. It dies in soltools with:
Compiling: soltools/giparser/gi_list.cxx In file included from ../inc/gi_list.hxx:33:0, from /home/tromey/Space/LibreOffice/bootstrap/soltools/giparser/gi_list.cxx:33: ../inc/st_list.hxx: In instantiation of 'DynamicList<XY>& DynamicList<XY>::operator=(const DynamicList<XY>&) [with XY = GenericInfo]': /home/tromey/Space/LibreOffice/bootstrap/soltools/giparser/gi_list.cxx:59:25: required from here ../inc/st_list.hxx:298:10: error: 'push_back' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] ../inc/st_list.hxx:298:10: note: declarations in dependent base 'ST_List<GenericInfo*>' are not found by unqualified lookup ../inc/st_list.hxx:298:10: note: use 'this->push_back' instead ../inc/st_list.hxx: In instantiation of 'void DynamicList<XY>::Insert(unsigned int, XY* const&) [with XY = GenericInfo]': /home/tromey/Space/LibreOffice/bootstrap/soltools/giparser/gi_list.cxx:234:1: required from here ../inc/st_list.hxx:311:5: error: 'checkSize' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] ../inc/st_list.hxx:311:5: note: declarations in dependent base 'ST_List<GenericInfo*>' are not found by unqualified lookup ../inc/st_list.hxx:311:5: note: use 'this->checkSize' instead The appended patch fixes this problem by adding 'this->' qualifiers. This is contributed under the LGPLv3+/MPL. Tom diff --git a/soltools/inc/st_list.hxx b/soltools/inc/st_list.hxx index 51f0a32..69b6943 100644 --- a/soltools/inc/st_list.hxx +++ b/soltools/inc/st_list.hxx @@ -295,7 +295,7 @@ DynamicList<XY>::operator=( const DynamicList<XY> & i_rList ) it != i_rList.end(); ++it ) { - push_back( new XY(*(*it)) ); + this->push_back( new XY(*(*it)) ); } return *this; } @@ -308,7 +308,7 @@ DynamicList<XY>::Insert(unsigned pos, XY * const & elem_) if ( pos > this->len ) return; - checkSize(DynamicList<XY>::len+2); + this->checkSize(DynamicList<XY>::len+2); memmove( DynamicList<XY>::inhalt+pos+1, DynamicList<XY>::inhalt+pos, (DynamicList<XY>::len-pos) * sizeof(XY*) ); this->inhalt[pos] = elem_; this->len++; _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice