On 10/07/2019 17:20, Bernhard Reutner-Fischer wrote:
On 10 July 2019 17:52:40 CEST, Steve Kargl <s...@troutmask.apl.washington.edu>
wrote:
On Wed, Jul 10, 2019 at 02:50:47PM +0100, Mark Eggleston wrote:
The attached patch treats the intrinsic SIGN in the same way as MOD
and
DIM as it has the same arguments.
Tested using make -j 8 check-fortran on x86_64
Conditional compilation using #ifdef __GFC_REAL_16__ has been
employed
where appropriate in the test cases so should be OK on platforms
without
REAL(16).
Change logs:
gcc/fortran
Mark Eggleston <mark.eggles...@codethink.com>
PR fortran/89286
* check.c (gfc_check_sign): Deleted.
ChangeLog has to be in present tense per convention.
* intrinsic.c (add_functions): Call add_sym_2 with gfc_check_a_p
instead of gfc_check_sign for "sign".
* intrinsic.h: Remove declaration of gfc_check_sign.
* iresolve.c (gfc_resolve_sign): Check for largest kind of the
actual
arguments and convert the smaller. Set return kind to be the
largest.
* simplify.c (gfc_simplify_sign): Use the largest kind of the
actual
arguments for return
* intrinsic.texi: Add GNU extension notes for return value to
SIGN.
gcc/testsuite
Mark Eggleston <mark.eggles...@codethink.com>
PR fortran/89240
* gfortran.dg/sign_gnu_extension_1.f90: New test.
* gfortran.dg/sign_gnu_extension_2.f90: New test.
* gfortran.dg/pr78619.f90: Check for "must have" instead of
"must be".
If OK please can someone commit as I do not have the privileges.
We really need to get you commit access to the tree.
I also am not a fan of this type of change. Having spent the
last few days working on fixing BOZ to conform to F2018, I'm
finding all sorts of undocumented "extensions". Personally,
I think gfortran should be moving towards the standard by
deprecating of these types of extensions.
I agree.
I think that -std=gnu should not be the default, if gnu extensions are
required you have to ask for them.
At least make them explicit under explicit extension or at least -legacy or
whatever its called.
thanks,
I agree, at the moment the GNU extension is silently supported by DIM
and MOD
--
https://www.codethink.co.uk/privacy.html