error in pnetcdf.inc

Wei-keng Liao wkliao at eecs.northwestern.edu
Sat Jun 13 07:47:03 CDT 2015


Hi, Jim,

I added a fix r2045 that checks if pgf77 is used and sets those constants accordingly.
Please let me know if that works for you.

Wei-keng

On Jun 5, 2015, at 8:34 AM, Wei-keng Liao wrote:

> If I remove the modifier "_8", then gfortran failed to compile.
> Here is the test program I used.
> 
> % cat big_constants.f 
>      program Test
>      implicit none
>      integer*8  nf_fill_uint
>      parameter (nf_fill_uint = 4294967295)
>      end
> 
> % gfortran big_constants.f
> big_constants.f:4.42:
> 
>      parameter (nf_fill_uint = 4294967295)                             
>                                          1
> Error: Integer too big for its kind at (1). This check can be disabled with the option -fno-range-check
> 
> 
> (Compiling the same above program with pgf77 is fine.)
> 
> 
> Wei-keng
> 
> On Jun 5, 2015, at 7:31 AM, Jim Edwards wrote:
> 
>> The construct _I8 is part of the f90 standard and not f77.   I think that for f77 compliance you would need to remove this modifier and set the constant without it.  
>> 
>> On Fri, Jun 5, 2015 at 3:17 AM, Wei-keng Liao <wkliao at eecs.northwestern.edu> wrote:
>> Hi, Jim
>> 
>> Sorry for replying your email this late.
>> 
>> I honestly do not have a good solution for this.
>> If I removed the trailing underscore and 8, then the F77 program,
>> pnf_test.f, is compiled fine with pg77 but failed with gfortran.
>> 
>> Adding "-fno-range-check" flag to gfortran command line passed
>> the compilation, but I don't think I should enforce this option for gfortran.
>> 
>> On the other hand, pgf77 does not appear to understand the trailing suffix "_8".
>> 
>> I am open to any suggestion.
>> 
>> Wei-keng
>> 
>> On Jun 2, 2015, at 12:25 PM, Jim Edwards wrote:
>> 
>>> Sorry - I was wrong _I8 still gives an error.   The problem is that you are compiling an f90 test with f77 :
>>> 
>>> /usr/mpi/pgi/mvapich2-1.8.1-qlc/bin/mpif77 -c -g   -I../../src/lib  -I../../src/libf -I../../src/libf90 pnf_test.f
>>> 
>>> PGFTN-S-0034-Syntax error at or near identifier _8 (../../src/libf/pnetcdf.inc: 79)
>>> 
>>> PGFTN-S-0034-Syntax error at or near identifier _8 (../../src/libf/pnetcdf.inc: 80)
>>> 
>>> PGFTN-S-0034-Syntax error at or near ( (pnf_test.f: 51)
>>> 
>>> PGFTN-S-0034-Syntax error at or near ( (pnf_test.f: 64)
>>> 
>>> PGFTN-S-0034-Syntax error at or near ( (pnf_test.f: 65)
>>> 
>>> PGFTN-S-0034-Syntax error at or near ( (pnf_test.f: 69)
>>> 
>>> 
>>> 
>>> switching this to use f90 solves the problem.
>>> 
>>> 
>>> 
>>> 
>>> On Tue, Jun 2, 2015 at 10:28 AM, Jim Edwards <jedwards at ucar.edu> wrote:
>>> Building pnetcdf1.6.1 using the pgi 15.1 compiler gives an error at lines 54 and 55 of pnetcdf.inc.   The compiler did not like:
>>>     parameter (nf_fill_uint = 4294967295_8)
>>>     parameter (nf_fill_int64 = -9223372036854775806_8)
>>> 
>>> I changed it to:
>>> 
>>>     parameter (nf_fill_uint = 4294967295_I8)
>>>      parameter (nf_fill_int64 = -9223372036854775806_I8)
>>> 
>>> 
>>>>>> 
>>> 
>>> --
>>> Jim Edwards
>>> 
>>> CESM Software Engineer
>>> National Center for Atmospheric Research
>>> Boulder, CO
>>> 
>>> 
>>> 
>>> --
>>> Jim Edwards
>>> 
>>> CESM Software Engineer
>>> National Center for Atmospheric Research
>>> Boulder, CO
>> 
>> 
>> 
>> 
>> -- 
>> Jim Edwards
>> 
>> CESM Software Engineer
>> National Center for Atmospheric Research
>> Boulder, CO 
> 



More information about the parallel-netcdf mailing list