This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gfortran] add ISATTY and TTYNAM intrinsics


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]