This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fortran -- clean up KILL
On Tue, Mar 13, 2018 at 6:08 AM, Steve Kargl
<sgk@troutmask.apl.washington.edu> wrote:
> On Mon, Mar 12, 2018 at 09:05:09PM +0200, Janne Blomqvist wrote:
>>
>> Yes, I understand that -fdefault-integer-8 (or whatever the equivalent
>> option was called on g77) is the original motivation. Like I said, I
>> don't have any particular opinion on whether we should keep that
>> restriction or not. On one hand, more recent versions of the standard
>> has lifted restrictions that integer intrinsic arguments have to be of
>> default kind in many cases, OTOH KILL is not a standard intrinsic but
>> something inherited from g77. So, meh.
>
> The Fortran standard specifically permits a Fortran processor to
> supply additional subprograms not contained in the Fortran standard.
> I personally can't any person person using INTEGER(1) or even
> INTEGER(2) with KILL as pid_t on typical modern OS's exceeds HUGE()
> in those types. My original patch simply fixed KILL to actually
> conform to its documentation. But is this what you want
Yes, very much so! Thanks!
One little nit, I think in libgfortran/intrinsics/kill.c
+kill (GFC_INTEGER_4 pid, GFC_INTEGER_4 signal)
{
- GFC_INTEGER_4 val;
- kill_i4_sub (pid, signal, &val);
- return val;
+ return (int)kill (pid, signal);
}
the implementation should be something like
int val = kill (pid, signal);
return (val == 0): 0 ? errno;
like it already does for the optional status argument for kill_sub.
--
Janne Blomqvist