[Bug ada/17321] New: Illegal program not detected, name hidden by use clauses

ludovic dot brenta at insalien dot org gcc-bugzilla@gcc.gnu.org
Sat Sep 4 14:07:00 GMT 2004


(Debian bug #269951)

The following program, using generics, compiles without an error
message:

generic
package pak1 is
end pak1;

generic
package pak1.foo is
end pak1.foo;

with pak1.foo;
package Test_269951 is
   package pak3 is
      foo: integer;
   end pak3;
   use pak3;

   package new_pak1 is new pak1;
   use new_pak1;

   x: integer := foo;       -- ERROR: foo hidden by use clauses
end Test_269951;


In contrast, the following program, not using generics, produces a
correct error message:

package pak1 is
end pak1;

package pak1.foo is
end pak1.foo;

with pak1; use pak1;
with pak1.foo;
package Test_269951 is
   package pak3 is
      foo : Integer;
   end pak3;
   use pak3;

   x: integer := foo;       -- ERROR: foo hidden by use clauses
end Test_269951;

test_269951.ads:10:18: "foo" is not visible
test_269951.ads:10:18: multiple use clauses cause hiding
test_269951.ads:10:18: hidden declaration at line 6
test_269951.ads:10:18: hidden declaration at pak1-foo.ads:2
gnatmake: "test_269951.ads" compilation error

-- 
           Summary: Illegal program not detected, name hidden by use clauses
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ludovic dot brenta at insalien dot org
                CC: gcc-bugs at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list