public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/20067] New: gfortran: misleading error message resolving generic subroutine
@ 2005-02-19 13:01 anlauf at hep dot tu-darmstadt dot de
  2005-02-19 13:07 ` [Bug fortran/20067] " pinskia at gcc dot gnu dot org
  0 siblings, 1 reply; 7+ messages in thread
From: anlauf at hep dot tu-darmstadt dot de @ 2005-02-19 13:01 UTC (permalink / raw)
  To: gcc-bugs

Hi,

the following (incorrect) code gives a misleading error message
when compiling:

program gfcbug24
implicit none

interface foo
   subroutine foo_8 (a, b)
     real (kind(1.d0)) :: a, b
   end subroutine foo_8
end interface

real (kind(1.d0)) :: c = 1.d0

! gfortran gives a misleading error message for the following line:
call foo (c, 2.0)
end


% gfortran gfcbug24.f90
 In file gfcbug24.f90:13

call foo (c, 2.0)
                1
Error: Generic subroutine 'foo' at (1) is not an intrinsic subroutine


This is misleading.  There simply is no specific subroutine
whose characteristics matches the (ranks and) types used in
the invocation.

E.g., the Intel compiler v8.1 says:

fortcom: Error: gfcbug24.f90, line 13: There is no matching specific subroutine
for this generic subroutine call.   [FOO]
call foo (c, 2.0)
-----^
compilation aborted for gfcbug24.f90 (code 1)

Cheers,
-ha

-- 
           Summary: gfortran: misleading error message resolving generic
                    subroutine
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: anlauf at hep dot tu-darmstadt dot de
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
  2005-02-19 13:01 [Bug fortran/20067] New: gfortran: misleading error message resolving generic subroutine anlauf at hep dot tu-darmstadt dot de
@ 2005-02-19 13:07 ` pinskia at gcc dot gnu dot org
  0 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-19 13:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-02-18 23:26 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |diagnostic
   Last reconfirmed|0000-00-00 00:00:00         |2005-02-18 23:26:28
               date|                            |


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


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
       [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2006-08-30  5:20 ` pault at gcc dot gnu dot org
@ 2006-08-30  5:31 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-08-30  5:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pault at gcc dot gnu dot org  2006-08-30 05:31 -------
Fixed 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=20067


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
       [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2006-08-30  5:20 ` pault at gcc dot gnu dot org
@ 2006-08-30  5:20 ` pault at gcc dot gnu dot org
  2006-08-30  5:31 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-08-30  5:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2006-08-30 05:19 -------
Subject: Bug 20067

Author: pault
Date: Wed Aug 30 05:18:36 2006
New Revision: 116578

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

        PR fortran/28885
        REGRESSION FIX
        * trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
        declaration is retained for INTENT(OUT) arguments.

        PR fortran/28873
        REGRESSION FIX
        PR fortran/20067
        * resolve.c (resolve_generic_f): Make error message more
        comprehensible.
        (resolve_generic_s): Restructure search for specific procedures
        to be similar to resolve_generic_f and change to similar error
        message.  Ensure that symbol reference is refreshed, in case
        the search produces a NULL.
        (resolve_specific_s): Restructure search, as above and as
        resolve_specific_f. Ensure that symbol reference is refreshed,
        in case the search produces a NULL.

        PR fortran/25077
        PR fortran/25102
        * interface.c (check_operator_interface): Throw error if the
        interface assignment tries to change intrinsic type assigments
        or has less than two arguments.  Also, it is an error if an
        interface operator contains an alternate return.

        PR fortran/24866
        * parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
        if it is a dummy in the contained namespace.


2006-08-30  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/28885
        * gfortran.dg/aliasing_dummy_2.f90: New test.

        PR fortran/20067
        * gfortran.dg/generic_5.f90: Change error message.

        PR fortran/28873
        * gfortran.dg/generic_6.f90: New test.

        PR fortran/25077
        * gfortran.dg/redefined_intrinsic_assignment.f90: New test.

        PR fortran/25102
        * gfortran.dg/invalid_interface_assignment.f90: New test.

        PR fortran/24866
        * gfortran.dg/module_proc_external_dummy.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/aliasing_dummy_2.f90
    trunk/gcc/testsuite/gfortran.dg/generic_6.f90
    trunk/gcc/testsuite/gfortran.dg/invalid_interface_assignment.f90
    trunk/gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90
    trunk/gcc/testsuite/gfortran.dg/redefined_intrinsic_assignment.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/interface.c
    trunk/gcc/fortran/parse.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/generic_5.f90


-- 


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


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
       [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
  2006-08-29  7:55 ` paul dot richard dot thomas at cea dot fr
  2006-08-29 14:46 ` anlauf at gmx dot de
@ 2006-08-30  5:20 ` pault at gcc dot gnu dot org
  2006-08-30  5:20 ` pault at gcc dot gnu dot org
  2006-08-30  5:31 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-08-30  5:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pault at gcc dot gnu dot org  2006-08-30 05:20 -------
Subject: Bug 20067

Author: pault
Date: Wed Aug 30 05:19:34 2006
New Revision: 116579

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

        PR fortran/28885
        REGRESSION FIX
        * trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
        declaration is retained for INTENT(OUT) arguments.

        PR fortran/28873
        REGRESSION FIX
        PR fortran/20067
        * resolve.c (resolve_generic_f): Make error message more
        comprehensible.
        (resolve_generic_s): Restructure search for specific procedures
        to be similar to resolve_generic_f and change to similar error
        message.  Ensure that symbol reference is refreshed, in case
        the search produces a NULL.
        (resolve_specific_s): Restructure search, as above and as
        resolve_specific_f. Ensure that symbol reference is refreshed,
        in case the search produces a NULL.

        PR fortran/25077
        PR fortran/25102
        * interface.c (check_operator_interface): Throw error if the
        interface assignment tries to change intrinsic type assigments
        or has less than two arguments.  Also, it is an error if an
        interface operator contains an alternate return.

        PR fortran/24866
        * parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
        if it is a dummy in the contained namespace.


2006-08-30  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/28885
        * gfortran.dg/aliasing_dummy_2.f90: New test.

        PR fortran/20067
        * gfortran.dg/generic_5.f90: Change error message.

        PR fortran/28873
        * gfortran.dg/generic_6.f90: New test.

        PR fortran/25077
        * gfortran.dg/redefined_intrinsic_assignment.f90: New test.

        PR fortran/25102
        * gfortran.dg/invalid_interface_assignment.f90: New test.

        PR fortran/24866
        * gfortran.dg/module_proc_external_dummy.f90: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/aliasing_dummy_2.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/generic_6.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/invalid_interface_assignment.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/module_proc_external_dummy.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/redefined_intrinsic_assignment.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/interface.c
    branches/gcc-4_1-branch/gcc/fortran/parse.c
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/generic_5.f90


-- 


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


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
       [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
  2006-08-29  7:55 ` paul dot richard dot thomas at cea dot fr
@ 2006-08-29 14:46 ` anlauf at gmx dot de
  2006-08-30  5:20 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: anlauf at gmx dot de @ 2006-08-29 14:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from anlauf at gmx dot de  2006-08-29 14:46 -------
(In reply to comment #2)
> Error: There is no specific subroutine for the generic 'ice' at (1)

The new error message is rather terse but OK.

-Harald


-- 


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


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

* [Bug fortran/20067] gfortran: misleading error message resolving generic subroutine
       [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
@ 2006-08-29  7:55 ` paul dot richard dot thomas at cea dot fr
  2006-08-29 14:46 ` anlauf at gmx dot de
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: paul dot richard dot thomas at cea dot fr @ 2006-08-29  7:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from paul dot richard dot thomas at cea dot fr  2006-08-29 07:55 -------
Harald,

In fixing PR28873, I have fixed this PR.  Will

    CALL ice(23.0)   ! { dg-error "no specific subroutine" }
                                                           1
Error: There is no specific subroutine for the generic 'ice' at (1)

for gfortran.dg/generic_5.f90 do it for you?

Paul


-- 


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


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

end of thread, other threads:[~2006-08-30  5:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-19 13:01 [Bug fortran/20067] New: gfortran: misleading error message resolving generic subroutine anlauf at hep dot tu-darmstadt dot de
2005-02-19 13:07 ` [Bug fortran/20067] " pinskia at gcc dot gnu dot org
     [not found] <bug-20067-6318@http.gcc.gnu.org/bugzilla/>
2006-08-29  7:55 ` paul dot richard dot thomas at cea dot fr
2006-08-29 14:46 ` anlauf at gmx dot de
2006-08-30  5:20 ` pault at gcc dot gnu dot org
2006-08-30  5:20 ` pault at gcc dot gnu dot org
2006-08-30  5:31 ` 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).