[Bug fortran/39505] Consider a 'no arg check' directive
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added CC||burnus at gcc dot gnu.org --- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2013-04-16 21:39:36 UTC --- Author: burnus Date: Tue Apr 16 20:54:21 2013 New Revision: 198011 URL: http://gcc.gnu.org/viewcvs?rev=198011root=gccview=rev Log: 2013-04-12 Tobias Burnus bur...@net-b.de PR fortran/39505 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK. * gfortran.h (ext_attr_id_t): Ditto. * gfortran.texi (GNU Fortran Compiler Directives): Document it. * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK. (compare_parameter): Ditto - and regard as unlimited polymorphic. * resolve.c (resolve_symbol, resolve_variable): Add same * constraint checks as for TYPE(*); turn dummy to TYPE(*),dimension(*). (gfc_explicit_interface_required): Require explicit interface for NO_ARG_CHECK. 2013-04-12 Tobias Burnus bur...@net-b.de PR fortran/39505 * gfortran.dg/no_arg_check_1.f90: New. * gfortran.dg/no_arg_check_2.f90: New. * gfortran.dg/no_arg_check_3.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/no_arg_check_1.f90 trunk/gcc/testsuite/gfortran.dg/no_arg_check_2.f90 trunk/gcc/testsuite/gfortran.dg/no_arg_check_3.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/gfortran.texi trunk/gcc/fortran/interface.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/39505] Consider a 'no arg check' directive
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505 Tobias Burnus burnus at gcc dot gnu.org changed: What|Removed |Added Resolution|WONTFIX |FIXED --- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2013-04-16 21:44:29 UTC --- Re-close as FIXED. This feature is now supported on the GCC 4.9 trunk: !GCC$ attributes no_arg_check::buf Contrary to TYPE(*), which is supported since GCC 4.8, this attribute not only disables the T(ype) and K(ind) checking but also the rank check (= full TKR). To be used with TYPE(*) [recommended; integer, real, complex and logical are also fine]; the dummy argument can be either a scalar or an assumed-size array. Such dummies may only be passed on or used as argument to C_LOC. See http://gcc.gnu.org/onlinedocs/gfortran/GNU-Fortran-Compiler-Directives.html
[Bug fortran/39505] Consider a 'no arg check' directive
--- Comment #4 from fxcoudert at gcc dot gnu dot org 2009-03-28 08:03 --- I think consensus was reached this is not a desirable feature for now, so closing. Please reopen if the situation changes. -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||fxcoudert at gcc dot gnu dot ||org Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505
[Bug fortran/39505] Consider a 'no arg check' directive
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-03-19 18:08 --- Really I think this is a bad idea. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505
[Bug fortran/39505] Consider a 'no arg check' directive
--- Comment #2 from burnus at gcc dot gnu dot org 2009-03-19 21:37 --- (In reply to comment #0) The alternative to this is to do as OpenMPI does and generate dozens of specific 'glue' routines, and tie them together under a generic name. Or to use TYPE(*),DIMENSION(..) as proposed in a Technical Report (that part was requested by the MPI forum); see N1761 and N1766 at http://www.nag.co.uk/SC22WG5/. I think those parts of the TR might get relatively quickly implemented, but it won't happen before there is more consensus at J3/WG5 (cf. N1766). (In reply to comment #1) Really I think this is a bad idea. I agree. The TR solution seems to fix this and then I don't see any advantage of a gfortran 4.5 with !$GCC attributes no_arg_check compared to a gfortran 4.5 with TYPE(*), DIMENSION(..). If you see something which is not covered by the TR, can you contact Bill Long to make sure it will be considered for inclusion? Of you still think something !$GCC should be added, can you explain why the TR is not sufficient? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505
[Bug fortran/39505] Consider a 'no arg check' directive
--- Comment #3 from w6ws at earthlink dot net 2009-03-20 02:13 --- Subject: Re: Consider a 'no arg check' directive Gents, I was unaware of Bills TR proposal for a TYPE(*). This is good news, and would totally solve the problem. BTW, the no_arg_check directive actually works pretty well in practice. But I agree that if a TR to address the problem is within sight, gfortran should wait for that. Walter -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505