[Bug fortran/39505] Consider a 'no arg check' directive

2013-04-16 Thread burnus at gcc dot gnu.org


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

2013-04-16 Thread burnus at gcc dot gnu.org


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

2009-03-28 Thread fxcoudert at gcc dot gnu dot org


--- 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

2009-03-19 Thread pinskia at gcc dot gnu dot org


--- 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

2009-03-19 Thread burnus at gcc dot gnu dot org


--- 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

2009-03-19 Thread w6ws at earthlink dot net


--- 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