public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/29232]  New: No warning/error for duplicate construct name
@ 2006-09-26  6:53 tobias dot burnus at physik dot fu-berlin dot de
  2006-10-02 11:57 ` [Bug fortran/29232] " fxcoudert at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: tobias dot burnus at physik dot fu-berlin dot de @ 2006-09-26  6:53 UTC (permalink / raw)
  To: gcc-bugs

The code
------------------------
MODULE test
     TYPE vertex
           INTEGER :: k
     END TYPE vertex
CONTAINS
     SUBROUTINE S1()
         TYPE(vertex) :: a
         vertex : DO i=1,2
         ENDDO vertex
     END SUBROUTINE
END MODULE test
------------------------
is invalid Fortran code, but
  gfortran -std=f2003 -c -W -Wall label.f90
accepts it without any error or warning.

Short reasoning (by Richard Main): 
"Both ["type(vertex)", label "vertex:"] are class 1 local identifiers.
Actually, almost everything is a class 1 local identifier.
See the list of them in c16.
You can't have 2 different class 1 entities with the same identifier"

See for the longer discussion:
http://groups.google.com/group/comp.lang.fortran/browse_frm/thread/a869ba11f828f208/6b95093a4a9bf34a#6b95093a4a9bf34a


-- 
           Summary: No warning/error for duplicate construct name
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tobias dot burnus at physik dot fu-berlin dot de


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


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

* [Bug fortran/29232] No warning/error for duplicate construct name
  2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
@ 2006-10-02 11:57 ` fxcoudert at gcc dot gnu dot org
  2006-10-03 14:38 ` pault at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-10-02 11:57 UTC (permalink / raw)
  To: gcc-bugs



-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |diagnostic
   Last reconfirmed|0000-00-00 00:00:00         |2006-10-02 11:57:34
               date|                            |


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


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

* [Bug fortran/29232] No warning/error for duplicate construct name
  2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
  2006-10-02 11:57 ` [Bug fortran/29232] " fxcoudert at gcc dot gnu dot org
@ 2006-10-03 14:38 ` pault at gcc dot gnu dot org
  2006-10-13 12:52 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-10-03 14:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pault at gcc dot gnu dot org  2006-10-03 14:38 -------
Created an attachment (id=12377)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12377&action=view)
This fixes the bug.

This has to be sorted out at resolution time because it is the label 'vortex'
that blocks the host association of the derived type 'vortex'.  Thus we wit
until resolving the symbols in a namespace and use the logic:

if variable is of host associated derived type
  {
     if a symbol is present in the variable's namespace that is 
              not a derived type or is not an identical derived type
       {
          error ("the symbol blocks the derived type")
          return FAILURE
       }
    }
As soon as the allocatable components are out of the door, I will submit this
with a test case.

Paul




-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug fortran/29232] No warning/error for duplicate construct name
  2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
  2006-10-02 11:57 ` [Bug fortran/29232] " fxcoudert at gcc dot gnu dot org
  2006-10-03 14:38 ` pault at gcc dot gnu dot org
@ 2006-10-13 12:52 ` pault at gcc dot gnu dot org
  2006-10-14  8:19 ` pault at gcc dot gnu dot org
  2006-11-06 17:19 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-10-13 12:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pault at gcc dot gnu dot org  2006-10-13 12:51 -------
Subject: Bug 29232

Author: pault
Date: Fri Oct 13 12:51:07 2006
New Revision: 117692

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

        PR fortran/29373
        * decl.c (get_proc_name, gfc_match_function_decl): Add
        attr.implicit_type to conditions that throw error for
        existing explicit interface and that allow new type-
        spec to be applied.

        PR fortran/29407
        * resolve.c (resolve_fl_namelist): Do not check for
        namelist/procedure conflict, if the symbol corresponds
        to a good local variable declaration.

        PR fortran/27701
        * decl.c (get_proc_name): Replace the detection of a declared
        procedure by the presence of a formal argument list by the
        attributes of the symbol and the presence of an explicit
        interface.

        PR fortran/29232
        * resolve.c (resolve_fl_variable): See if the host association
        of a derived type is blocked by the presence of another type I
        object in the current namespace.

        PR fortran/29364
        * resolve.c (resolve_fl_derived): Check for the presence of
        the derived type for a derived type component.

        PR fortran/24398
        * module.c (gfc_use_module): Check that the first words in a
        module file are 'GFORTRAN module'.

        PR fortran/29422
        * resolve.c (resolve_transfer): Test functions for suitability
        for IO, as well as variables.

        PR fortran/29428
        * trans-expr.c (gfc_trans_scalar_assign): Remove nullify of
        rhs expression.


2006-10-13 Paul Thomas <pault@gcc.gnu.org>

        PR fortran/29373
        * gfortran.dg/implicit_9.f90: New test.

        PR fortran/29407
        * gfortran.dg/namelist_25.f90: New test.

        PR fortran/27701
        * gfortran.dg/same_name_2.f90: New test.

        PR fortran/29232
        * gfortran.dg/host_assoc_types_1.f90: New test.

        PR fortran/29364
        * gfortran.dg/missing_derived_type_1.f90: New test.
        * gfortran.dg/implicit_actual.f90: Comment out USE GLOBAL.

        PR fortran/29422
        * gfortran.dg/alloc_comp_constraint_4.f90: New test.

        PR fortran/29428
        * gfortran.dg/alloc_comp_assign_5.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_assign_5.f90
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_constraint_4.f90
    trunk/gcc/testsuite/gfortran.dg/host_assoc_types_1.f90
    trunk/gcc/testsuite/gfortran.dg/implicit_9.f90
    trunk/gcc/testsuite/gfortran.dg/missing_derived_type_1.f90
    trunk/gcc/testsuite/gfortran.dg/namelist_25.f90
    trunk/gcc/testsuite/gfortran.dg/same_name_2.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/implicit_actual.f90


-- 


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


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

* [Bug fortran/29232] No warning/error for duplicate construct name
  2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
                   ` (2 preceding siblings ...)
  2006-10-13 12:52 ` pault at gcc dot gnu dot org
@ 2006-10-14  8:19 ` pault at gcc dot gnu dot org
  2006-11-06 17:19 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-10-14  8:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2006-10-14 08:19 -------
Fixed in trunk

Paul


-- 

pault at gcc dot gnu dot org changed:

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


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


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

* [Bug fortran/29232] No warning/error for duplicate construct name
  2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
                   ` (3 preceding siblings ...)
  2006-10-14  8:19 ` pault at gcc dot gnu dot org
@ 2006-11-06 17:19 ` pault at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-06 17:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2006-11-06 17:18 -------
Subject: Bug 29232

Author: pault
Date: Mon Nov  6 17:18:03 2006
New Revision: 118522

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


        PR fortran/29373
        * decl.c (get_proc_name, gfc_match_function_decl): Add
        attr.implicit_type to conditions that throw error for
        existing explicit interface and that allow new type-
        spec to be applied.

        PR fortran/29407
        * resolve.c (resolve_fl_namelist): Do not check for
        namelist/procedure conflict, if the symbol corresponds
        to a good local variable declaration.

        PR fortran/27701
        * decl.c (get_proc_name): Replace the detection of a declared
        procedure by the presence of a formal argument list by the
        attributes of the symbol and the presence of an explicit
        interface.

        PR fortran/29232
        * resolve.c (resolve_fl_variable): See if the host association
        of a derived type is blocked by the presence of another type I
        object in the current namespace.

        PR fortran/29364
        * resolve.c (resolve_fl_derived): Check for the presence of
        the derived type for a derived type component.

        PR fortran/24398
        * module.c (gfc_use_module): Check that the first words in a
        module file are 'GFORTRAN module'.

        PR fortran/29115
        * resolve.c (resolve_structure_cons): It is an error if the
        pointer component elements of a derived type constructor are
        not pointer or target.

        PR fortran/29211
        * trans-stmt.c (generate_loop_for_temp_to_lhs,
        generate_loop_for_rhs_to_temp): Provide a string length for
        the temporary by copying that of the other side of the scalar
        assignment.

        PR fortran/29098
        * resolve.c (resolve_structure_cons): Do not return FAILURE if
        component expression is NULL.


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

        PR fortran/29373
        * gfortran.dg/implicit_9.f90: New test.

        PR fortran/29407
        * gfortran.dg/namelist_25.f90: New test.

        PR fortran/27701
        * gfortran.dg/same_name_2.f90: New test.

        PR fortran/29232
        * gfortran.dg/host_assoc_types_1.f90: New test.

        PR fortran/29364
        * gfortran.dg/missing_derived_type_1.f90: New test.
        * gfortran.dg/implicit_actual.f90: Comment out USE GLOBAL.

        PR fortran/29115
        * gfortran.dg/derived_constructor_comps_2.f90: New test.

        PR fortran/29211
        * gfortran.dg/forall_char_dependencies_1.f90: New test.

        PR fortran/29098
        * gfortran.dg/default_initialization_2.f90: New test.

Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/default_initialization_2.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/derived_constructor_comps_2.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/forall_char_dependencies_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/host_assoc_types_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/implicit_9.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/missing_derived_type_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/namelist_25.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/same_name_2.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/module.c
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-stmt.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/implicit_actual.f90


-- 


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


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

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

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-26  6:53 [Bug fortran/29232] New: No warning/error for duplicate construct name tobias dot burnus at physik dot fu-berlin dot de
2006-10-02 11:57 ` [Bug fortran/29232] " fxcoudert at gcc dot gnu dot org
2006-10-03 14:38 ` pault at gcc dot gnu dot org
2006-10-13 12:52 ` pault at gcc dot gnu dot org
2006-10-14  8:19 ` pault at gcc dot gnu dot org
2006-11-06 17:19 ` 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).