public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/25058]  New: better diagnostic needed
@ 2005-11-26 17:48 jv244 at cam dot ac dot uk
  2005-11-26 19:27 ` [Bug fortran/25058] missing diagnostic about ENTRY dummy argument fxcoudert at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jv244 at cam dot ac dot uk @ 2005-11-26 17:48 UTC (permalink / raw)
  To: gcc-bugs

using GNU Fortran 95 (GCC) 4.1.0 20051126 (prerelease)  with '-g -pedantic
-std=f95', I get a bad / no diagnostic for the following invalid code:

MODULE M1
CONTAINS
FUNCTION F1(I) RESULT(RF1)
 INTEGER :: I,K,RE1,RF1
 RE1=K
 RETURN
 ENTRY E1(K) RESULT(RE1)
 RE1=-I
 RETURN
END FUNCTION F1
END  MODULE M1
END


-- 
           Summary: better diagnostic needed
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
@ 2005-11-26 19:27 ` fxcoudert at gcc dot gnu dot org
  2006-05-19 17:35 ` patchapp at dberlin dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-11-26 19:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from fxcoudert at gcc dot gnu dot org  2005-11-26 19:27 -------
Neither gfortran, nor g95, nor Portland see this error.

## gfortran ##
## g95 ##
## Intel ##
fortcom: Error: foo.f90, line 5: An ENTRY dummy argument is referenced in an
executable statement before it appears in any ENTRY statement.   [K]
 RE1=K
-----^
compilation aborted for foo.f90 (code 1)
## Portland ##
## Sun ##

MODULE M1
       ^
"foo.f90", Line = 1, Column = 8: ERROR: The compiler has detected errors in
module "M1".  No module information file will be created for this module.

FUNCTION F1(I) RESULT(RF1)
                      ^
"foo.f90", Line = 3, Column = 23: WARNING: The result of function name "RF1" in
the function subprogram is not defined.

 ENTRY E1(K) RESULT(RE1)
          ^
"foo.f90", Line = 7, Column = 11: ERROR: Object "K" has been previously used in
an executable statement, therefore it must not be a dummy argument.
                    ^
"foo.f90", Line = 7, Column = 21: ERROR: "RE1" has been used as a variable,
therefore it must not be declared as a result-name.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |accepts-invalid
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-26 19:27:28
               date|                            |
            Summary|better diagnostic needed    |missing diagnostic about
                   |                            |ENTRY dummy argument


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
  2005-11-26 19:27 ` [Bug fortran/25058] missing diagnostic about ENTRY dummy argument fxcoudert at gcc dot gnu dot org
@ 2006-05-19 17:35 ` patchapp at dberlin dot org
  2006-05-27  4:30 ` patchapp at dberlin dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: patchapp at dberlin dot org @ 2006-05-19 17:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from patchapp at dberlin dot org  2006-05-19 17:35 -------
Subject: Bug number PR25058

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00969.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
  2005-11-26 19:27 ` [Bug fortran/25058] missing diagnostic about ENTRY dummy argument fxcoudert at gcc dot gnu dot org
  2006-05-19 17:35 ` patchapp at dberlin dot org
@ 2006-05-27  4:30 ` patchapp at dberlin dot org
  2006-06-07  7:21 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: patchapp at dberlin dot org @ 2006-05-27  4:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from patchapp at dberlin dot org  2006-05-27 04:30 -------
Subject: Bug number PR25058

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-05/msg01385.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2006-05-27  4:30 ` patchapp at dberlin dot org
@ 2006-06-07  7:21 ` pault at gcc dot gnu dot org
  2006-06-11 22:33 ` pault at gcc dot gnu dot org
  2006-06-11 22:39 ` pault at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-06-07  7:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2006-06-07 07:20 -------
Subject: Bug 25058

Author: pault
Date: Wed Jun  7 07:20:39 2006
New Revision: 114461

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114461
Log:
2006-06-07  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/23091
        * resolve.c (resolve_fl_variable): Error if an automatic
        object has the SAVE attribute.

        PR fortran/24168
        * expr.c (simplify_intrinsic_op): Transfer the rank and
        the locus to the simplified expression.

        PR fortran/25090
        PR fortran/25058
        * gfortran.h : Add int entry_id to gfc_symbol.
        * resolve.c : Add static variables current_entry_id and
        specification_expr.
        (resolve_variable): During code resolution, check if a
        reference to a dummy variable in an executable expression
        is preceded by its appearance as a parameter in an entry.
        Likewise check its specification expressions.
        (resolve_code): Update current_entry_id on EXEC_ENTRY.
        (resolve_charlen, resolve_fl_variable): Set and reset
        specifiaction_expr.
        (is_non_constant_shape_array): Do not return on detection
        of a variable but continue to resolve all the expressions.
        (resolve_codes): set current_entry_id to an out of range
        value.

2006-06-07  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/23091
        * gfortran.dg/saved_automatic_1.f90: New test.

        PR fortran/24168
        * gfortran.dg/array_simplify_1.f90: New test.

        PR fortran/25090
        * gfortran.dg/entry_dummy_ref_1.f90: New test.

        PR fortran/25058
        * gfortran.dg/entry_dummy_ref_2.f90: New test.




Added:
    trunk/gcc/testsuite/gfortran.dg/array_simplify_1.f90
    trunk/gcc/testsuite/gfortran.dg/entry_dummy_ref_1.f90
    trunk/gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90
    trunk/gcc/testsuite/gfortran.dg/saved_automatic_1.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2006-06-07  7:21 ` pault at gcc dot gnu dot org
@ 2006-06-11 22:33 ` pault at gcc dot gnu dot org
  2006-06-11 22:39 ` pault at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-06-11 22:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pault at gcc dot gnu dot org  2006-06-11 22:32 -------
Subject: Bug 25058

Author: pault
Date: Sun Jun 11 22:32:26 2006
New Revision: 114551

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114551
Log:
2006-06-12  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24558
        PR fortran/20877
        PR fortran/25047
        * decl.c (get_proc_name): Add new argument to flag that a
        module function entry is being treated. If true, correct
        error condition, add symtree to module namespace and add
        a module procedure.
        (gfc_match_function_decl, gfc_match_entry,
        gfc_match_subroutine): Use the new argument in calls to
        get_proc_name.
        * resolve.c (resolve_entries): ENTRY symbol reference to
        to master entry namespace if a module function.
        * trans-decl.c (gfc_create_module_variable): Return if
        the symbol is an entry.

        PR fortran/23091
        * resolve.c (resolve_fl_variable): Error if an automatic
        object has the SAVE attribute.

        PR fortran/24168
        * expr.c (simplify_intrinsic_op): Transfer the rank and
        the locus to the simplified expression.

        PR fortran/25090
        PR fortran/25058
        * gfortran.h : Add int entry_id to gfc_symbol.
        * resolve.c : Add static variables current_entry_id and
        specification_expr.
        (resolve_variable): During code resolution, check if a
        reference to a dummy variable in an executable expression
        is preceded by its appearance as a parameter in an entry.
        Likewise check its specification expressions.
        (resolve_code): Update current_entry_id on EXEC_ENTRY.
        (resolve_charlen, resolve_fl_variable): Set and reset
        specifiaction_expr.
        (is_non_constant_shape_array): Do not return on detection
        of a variable but continue to resolve all the expressions.
        (resolve_codes): set current_entry_id to an out of range
        value.

2006-06-12  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24558
        * gfortran.dg/entry_6.f90: New test.

        PR fortran/20877
        PR fortran/25047
        * gfortran.dg/entry_7.f90: New test.

        PR fortran/23091
        * gfortran.dg/saved_automatic_1.f90: New test.

        PR fortran/24168
        * gfortran.dg/array_simplify_1.f90: New test.

        PR fortran/25090
        * gfortran.dg/entry_dummy_ref_1.f90: New test.

        PR fortran/25058
        * gfortran.dg/entry_dummy_ref_2.f90: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/array_simplify_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/entry_6.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/entry_7.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/entry_dummy_ref_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/saved_automatic_1.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/decl.c
    branches/gcc-4_1-branch/gcc/fortran/expr.c
    branches/gcc-4_1-branch/gcc/fortran/gfortran.h
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-decl.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/25058] missing diagnostic about ENTRY dummy argument
  2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2006-06-11 22:33 ` pault at gcc dot gnu dot org
@ 2006-06-11 22:39 ` pault at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-06-11 22:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pault at gcc dot gnu dot org  2006-06-11 22:37 -------
Cracked on trunk and 4.1.

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25058


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-06-11 22:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-26 17:48 [Bug fortran/25058] New: better diagnostic needed jv244 at cam dot ac dot uk
2005-11-26 19:27 ` [Bug fortran/25058] missing diagnostic about ENTRY dummy argument fxcoudert at gcc dot gnu dot org
2006-05-19 17:35 ` patchapp at dberlin dot org
2006-05-27  4:30 ` patchapp at dberlin dot org
2006-06-07  7:21 ` pault at gcc dot gnu dot org
2006-06-11 22:33 ` pault at gcc dot gnu dot org
2006-06-11 22:39 ` pault at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).