Re: cernlib, preprocessor, etc

From: Konstantin Olchanski (olchansk@ux1.phy.bnl.gov)
Date: Mon Mar 05 2001 - 08:43:23 EST

  • Next message: Djamel Ouerdane: "Re: cernlib, preprocessor, etc"

    > The other thing concerns the preprocessor. Some files (*.F) need to be
    > preprocessed before being compiled. The rule to preprocess the *.F files
    > is:
    > 
    > gcc -E -C -P -x c $(CPPFLAGS) $(D_SYMBOLS) -o $*.f $<
    > 
    
    I am curious why you are using the "C" driver (gcc) instead of
    the "Fortran" driver (g77). I was under the impression that the g77
    driver runs the source files through the C preprocessor by default.
    
    >
    > My version of gcc is 2.96 (according to Christian, this version is
    > known to be buggy), this is the one that you get with redhat 7.
    >
    
    This is pure FUD. On RedHat 7.0 you have the choice of "gcc" (2.96) and
    "kgcc" (egcs-1.1.2). Neither is a formal FSF/GNU GCC release and both
    are known to have bugs. Use whatever works for you, but note that
    in language support, gcc-2.96 is closer to the ultimate gcc 3.0
    than egcs-1.1.2. Also 2.96 is newer and has more bugs fixed than introduced.
    
    I used both compilers to compile quite a bit of antique Fortran code
    and did not really notice any difference between them.
    
    > 
    > My question is then: do we really need the option -x c for the
    > preprocessing ? So far there wasn't any problem but with redhat 7, that's
    > not the case.
    > 
    
    I'll have to write a test case for this. Bear with me... But could you
    try the "g77" driver first?
    
    P.S. But wait! The C preprocessor was rewritten between
    gcc 2.95 and 2.96-RH! Maybe they broke it for Fortran?
    
    -- 
    Konstantin Olchanski
    Physics Department, Brookhaven National Laboratory, Long Island, New York
    olchansk@bnl.gov
    



    This archive was generated by hypermail 2b29 : Mon Mar 05 2001 - 08:44:10 EST