This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix libgomp Fortran tests
On Fri, Sep 08, 2006 at 04:10:53PM +0200, Tobias Schl?ter wrote:
> Steve Kargl <sgk@troutmask.apl.washington.edu> wrote on Fri, 08 Sep 2006:
>>>However, in a DATA statement, the values are not "constants", they are
>>>"data-stmt-constants", defined in rule R540, and these use signed
>>>literal constants (including signed-int-literal-constant) rather than
>>>unsigned ones. As expressions are not allowed as DATA statement values,
>>>the interpretation of a negative integer remains unambiguous.
>>>
>>>Thus, while
>>>
>>> INTEGER J = -2147493648
>>>
>>>is not permitted,
>>>
>>> INTEGER J
>>> DATA J / -2147493648 /
>>>
>>>is permitted. (Note that 4.3.1.1, line 25, explicitly states that "Any
>>>integer value may be represented as a signed-int-literal-constant.")
>>>
>>
>>Brooks,
>>
>>Can you open a PR? I did not realize that there was
>>this hair splitting. Oh, and this isn't going to be
>>easy to fix.
>
> match_integer_constant() has a parameter signflag which -- if set in
> the right places, i.e. set everywhere a signed-integer-constant is
> expected -- should be making that difference automatically.
>
Tobi, thanks for pointing this out. gfortran appears to do
the Right Thing with the data statement.
> ps I plan to come back to gfortran development, but I still have too
> much on my plate.
>
That's good news. Both pault and myself have been slowing down.
We can always use another pair of hands and eyes.
--
Steve