[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #14 from dfranke at gcc dot gnu dot org 2010-05-24 14:03 --- (In reply to comment #13) Should we close this? Yes, this is testcase gfortran.dg/whole_file_2.f90. Closing. -- dfranke at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #13 from tkoenig at gcc dot gnu dot org 2010-05-19 21:53 --- This is now real, dimension(2) :: test integer:: n test = n ! print *, test return end function test program arr real, dimension(2) :: res res = test(2) print *, res end program i...@linux-fd1f:/tmp gfortran -fwhole-file gurgl.f90 gurgl.f90:10.6: res = test(2) 1 Fehler: The reference to function 'test' at (1) either needs an explicit INTERFACE or the rank is incorrect Should we close this? -- tkoenig at gcc dot gnu dot org changed: What|Removed |Added CC||tkoenig at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #11 from pault at gcc dot gnu dot org 2009-03-30 19:35 --- Subject: Bug 26227 Author: pault Date: Mon Mar 30 19:35:14 2009 New Revision: 145314 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145314 Log: 2009-03-30 Paul Thomas pa...@gcc.gnu.org PR fortran/22571 PR fortran/26227 PR fortran/24886 * symbol.c : Add gfc_global_ns_list. * decl.c (add_global_entry): Set the namespace ('ns') field. * gfortran.h : Add the resolved field to gfc_namespace. Add the namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to gfc_option_t. Add the prototype for gfc_free_dt_list. * lang.opt : Add the whole-file option. * invoke.texi : Document the whole-file option. * resolve.c (resolve_global_procedure): If the fwhole-file option is set, reorder gsymbols to ensure that translation is in the right order. Resolve the gsymbol's namespace if that has not occurred and then check interfaces. (resolve_function): Move call to resolve_global_procedure. (resolve_call): The same. (resolve_codes): Store the current labels_obstack. (gfc_resolve) : Return if the namespace is already resolved. trans-decl.c (gfc_get_extern_function_decl): If the whole_file option is selected, use the backend_decl of a gsymbol, if it is available. parse.c (add_global_procedure, add_global_program): If the flag whole-file is set, add the namespace to the gsymbol. (gfc_parse_file): On -fwhole-file, put procedure namespaces on the global namespace list. Rearrange to do resolution of all the procedures in a file, followed by their translation. * options.c (gfc_init_options): Add -fwhole-file. (gfc_handle_option): The same. 2009-03-30 Paul Thomas pa...@gcc.gnu.org PR fortran/22571 * gfortran.dg/whole_file_1.f90: New test. PR fortran/26227 * gfortran.dg/whole_file_2.f90: New test. * gfortran.dg/whole_file_3.f90: New test. PR fortran/24886 * gfortran.dg/whole_file_4.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/whole_file_1.f90 trunk/gcc/testsuite/gfortran.dg/whole_file_2.f90 trunk/gcc/testsuite/gfortran.dg/whole_file_3.f90 trunk/gcc/testsuite/gfortran.dg/whole_file_4.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/invoke.texi trunk/gcc/fortran/lang.opt trunk/gcc/fortran/options.c trunk/gcc/fortran/parse.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/symbol.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-decl.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #12 from dominiq at lps dot ens dot fr 2009-03-30 22:01 --- After the commit in comment #11, the following code gives an ICE with -fwhole-file: [ibook-dhum] f90/bug% cat arr_fun.f90 function test(n) real, dimension(2) :: test integer:: n test = n ! print *, test return end function test program arr real, dimension(2) :: res res = test(2) print *, res end program [ibook-dhum] f90/bug% gfc -fwhole-file arr_fun.f90 arr_fun.f90: In function 'arr': arr_fun.f90:8: internal compiler error: in fold_convert, at fold-const.c:2547 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. It's a little bit late for further investigation, but the flag is probably the cause of 11 ICE in my tests. I may have also false positives or strange error messages. I'll try to sort my mess tomorrow morning. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #10 from burnus at gcc dot gnu dot org 2007-06-01 15:21 --- *** Bug 32170 has been marked as a duplicate of this bug. *** -- burnus at gcc dot gnu dot org changed: What|Removed |Added CC||mikael dot morin at tele2 ||dot fr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #9 from burnus at gcc dot gnu dot org 2007-04-05 13:27 --- This probably will work automatically if inter-file checking is implemented, but if not, here is an invalid example which should be rejected: - SUBROUTINE PHLOAD (READER,*) IMPLICIT NONE EXTERNAL READER CALL READER (*1) 1RETURN 1 END SUBROUTINE program test EXTERNAL R call PHLOAD (R, 1) CALL PHLOAD (R, 2) END program test - Should give the error (cf. NAG f95): Error: y.f: Argument no. 2 in reference to PHLOAD from TEST is not a label -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #8 from burnus at gcc dot gnu dot org 2007-03-12 19:09 --- *** Bug 31149 has been marked as a duplicate of this bug. *** -- burnus at gcc dot gnu dot org changed: What|Removed |Added CC||bartoldeman at users dot ||sourceforge dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #6 from tobi at gcc dot gnu dot org 2006-09-13 16:11 --- *** Bug 28443 has been marked as a duplicate of this bug. *** -- tobi at gcc dot gnu dot org changed: What|Removed |Added CC||cyan+gcc at compsoc dot ||nuigalway dot ie http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #7 from tobi at gcc dot gnu dot org 2006-09-13 16:12 --- *** Bug 28809 has been marked as a duplicate of this bug. *** -- tobi at gcc dot gnu dot org changed: What|Removed |Added CC||jchodera at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-05-13 22:25 --- *** Bug 27594 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||tobias dot burnus at physik ||dot fu-berlin dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-05-13 23:05 --- *** Bug 27586 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-05-13 23:18 --- *** Bug 27587 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-04-04 01:37 --- Here is another testcase (which ICEs currently but for a different reason): program main character (5) :: a = 'hello' call test ((/a/)) end program main subroutine test (a) character (5) :: a if (a .ne. 'hello') call abort end subroutine test The corrected form of this testcase is: program main character (5) :: a = 'hello' call test ((/a/)) end program main subroutine test (a) character (5) :: a(1) if (a(1) ne. 'hello') call abort end subroutine test - This testcase comes from HJL not even thinking about types of arguments to subroutines (IFort accepts the code too though Lahey's rejects it). I know just about as much Fortran as HJL does (maybe I can guess about how stuff like this is just wrong). -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-04-04 01:37:33 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227
[Bug fortran/26227] accepts invalid fortran, different dummy types/number
--- Comment #2 from paulthomas2 at wanadoo dot fr 2006-04-04 04:42 --- Subject: Re: accepts invalid fortran, different dummy types/number pinskia at gcc dot gnu dot org wrote: --- Comment #1 from pinskia at gcc dot gnu dot org 2006-04-04 01:37 --- Here is another testcase (which ICEs currently but for a different reason): program main character (5) :: a = 'hello' call test ((/a/)) end program main I am very much aware of this, its friends and its cousins. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26227