FX,
I forgot to mention that since the gcc cvs I built last night now
contains your ISATTY and TTYNAM intrinsics patch, I regressed the
portion of the xplor.patch which worked around the prior absence
of the ISATTY intrinsic in gfortran. The resulting xplor-nih build
works fine.
One other question. Do you know much c++? I had to make one change
to some buggy c++ code to allow gcc 4.0 and main branch to compile
xplor-nih...
--- xplor-nih-2.11.2.1/intVar/dint-loop.cc 2004-04-16 18:06:07.000000000 -0
400
+++ xplor-nih-2.11.2.1.g95/intVar/dint-loop.cc 2005-07-24 17:41:11.000000000 -0
400
@@ -50,6 +50,8 @@
tip1(tip1), tip2(tip2)
{} /* Loop::Loop */
+class LoopWNodes;
+
static int compareLevel(const LoopWNodes& l1, //forward declarations
const LoopWNodes& l2);
//static bool sameBranch(const HingeNode* tip,
...to work around the problem described in...
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159445
With that change, all of the c++ code in xplor-nih compiles against
gcc 4.0 branch, however I find that gcc main branch yields another
compilation error...
g++-4 -fstack-protector-all -c _cdsVector.cc -O3 -fPIC -mtune=970 -g
-DX_MMAP_FLAGS=0 -DFORTRAN_INIT -fno-common -DDARWIN -D_REENTRANT -
DNDEBUG -I/Users/howarth/Desktop/xplor-nih-2.11.2.1/python/ -I/Users/
howarth/Desktop/xplor-nih-2.11.2.1/arch/Darwin_8/include -I/Users/
howarth/Desktop/xplor-nih-2.11.2.1/python/swig_wrappers -DCPLUSPLUS -
DUSE_CDS_NAMESPACE -I/Users/howarth/Desktop/xplor-nih-2.11.2.1/
python/ -I/Users/howarth/Desktop/xplor-nih-2.11.2.1/arch/Darwin_8/
include -DSWIGPY_GLOBAL -I. -I/System/Library/Frameworks/
Python.framework/Versions/2.3/include/python2.3 -I/Users/howarth/
Desktop/xplor-nih-2.11.2.1/CDSlib -I/Users/howarth/Desktop/xplor-
nih-2.11.2.1/common -I/Users/howarth/Desktop/xplor-nih-2.11.2.1/
intVar -I/Users/howarth/Desktop/xplor-nih-2.11.2.1/nmrPot -I/Users/
howarth/Desktop/xplor-nih-2.11.2.1/vmd -I/Users/howarth/Desktop/xplor-
nih-2.11.2.1/devel -DNIHXPLOR_VERSION='"2.11.2.1-custom"' -
DSWIGPY_NOINCLUDE )
_cdsVector.cc: In function 'CDSVector<int, 0, CDS::DefaultAlloc>
CDSVector_Sl_int_Sg____pow__(CDSVector<int, 0, CDS::DefaultAlloc>*,
const float_type&)':
_cdsVector.cc:1155: warning: converting to 'int' from 'double'
/Users/howarth/Desktop/xplor-nih-2.11.2.1/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:1159: instantiated from here
/Users/howarth/Desktop/xplor-nih-2.11.2.1/CDSlib/cdsVector.hh:239:
warning: converting to 'int' from 'double'
_cdsVector.cc: In function 'T sum(const CDSVector<T, 0,
CDS::DefaultAlloc>&) [with T = int]':
_cdsVector.cc:2408: instantiated from here
_cdsVector.cc:913: warning: converting to 'int' from 'double'
_cdsVector.cc: In function 'CDSVector<double, 0, CDS::DefaultAlloc>
sqrt(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = int]':
_cdsVector.cc:2457: instantiated from here
_cdsVector.cc:924: error: no matching function for call to 'norm
(const int&)'
_cdsVector.cc: In function 'CDSVector<double, 0, CDS::DefaultAlloc>
norm(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = int]':
_cdsVector.cc:2510: instantiated from here
_cdsVector.cc:933: error: no matching function for call to 'norm
(const int&)'
_cdsVector.cc: In function 'CDSVector<double, 0, CDS::DefaultAlloc>
sqrt(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = double]':
_cdsVector.cc:3945: instantiated from here
_cdsVector.cc:924: error: no matching function for call to 'norm
(const double&)'
_cdsVector.cc: In function 'CDSVector<double, 0, CDS::DefaultAlloc>
norm(const CDSVector<T, 0, CDS::DefaultAlloc>&) [with T = double]':
_cdsVector.cc:3998: instantiated from here
_cdsVector.cc:933: error: no matching function for call to 'norm
(const double&)'
which compares to gcc 4.0 branch that just yields some warnings on
the same file...
_cdsVector.cc: In function 'CDSVector<int, 0, CDS::DefaultAlloc>
CDSVector_Sl_int_Sg____pow__(CDSVector<int, 0, CDS::DefaultAlloc>*, const
float_type&)':
_cdsVector.cc:1155: warning: converting to 'int' from 'double'
./cdsVector.hh: In member function 'CDSVectorBase<T, ALLOC>& CDSVectorBase<T,
ALLOC>::operator*=(const T1&) [with T1 = double, T = int, ALLOC = CDS::
DefaultAlloc]':
_cdsVector.cc:1159: instantiated from here
./cdsVector.hh:239: warning: converting to 'int' from 'double'
_cdsVector.cc: In function 'T sum(const CDSVector<T, 0, CDS::DefaultAlloc>&)
[with T = int]':
_cdsVector.cc:2408: instantiated from here
_cdsVector.cc:913: warning: converting to 'int' from 'double'
I am trying to figure out if this is catching some new buggy c++ which
is no longer accepted by the g++ compiler in gcc 4.1 or if this is a
regression in that branch.
Jack