Where exactly are the compiler flags new to gcc 4.1.0 described. I now understand that -ffriend-injection can be used with g++ to overcome the new strictness about the scope of friends. However, I am seeing another compile error in xplor-nih of the form...
cdsVector.cc: In function 'CDSVector<int, 0, CDS::DefaultAlloc> CDSVector_Sl_int_Sg____pow__(CDSVector<int, 0, CDS::DefaultAlloc>*, const float_type&)': _cdsVector.cc:1173: warning: converting to 'int' from 'double' /Users/howarth/Desktop/xplor-nih-2.12/CDSlib/cdsVector.hh: In member function 'CDSVectorBase<T, ALLOC>& CDSVectorBase<T, ALLOC>::operator*=(const T1&) [with T1 = double, T = int, ALLOC = CDS::DefaultAlloc]': _cdsVector.cc:1177: instantiated from here /Users/howarth/Desktop/xplor-nih-2.12/CDSlib/cdsVector.hh:242: warning: converting to 'int' from 'double' _cdsVector.cc: In function 'T sum(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = int]': _cdsVector.cc:2426: instantiated from here _cdsVector.cc:913: warning: converting to 'int' from 'double' _cdsVector.cc: In function 'float_type norm(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = double]': _cdsVector.cc:6004: instantiated from here _cdsVector.cc:942: error: no matching function for call to 'norm(const double&)' which -ffriend-injection doesn't solve. It would be nice if gcc 4.1.0 clearly listed the new areas of c++ strictness and which compile flag can be used to override the new behavior. Thanks in advance for any clarifications. Jack