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