#269951 Illegal program not detected, name hidden by use clauses

Package:
gnat-12
Source:
gcc-12
Description:
GNU Ada compiler
Submitter:
Date:
2022-04-04 05:33:23 UTC
Severity:
normal
Tags:
#269951#5
Date:
2004-09-04 13:45:44 UTC
From:
To:
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_118 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_118;


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_118 is
   package pak3 is
      foo : Integer;
   end pak3;
   use pak3;

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

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

#269951#20
Date:
2009-08-30 12:50:34 UTC
From:
To:
found 269951 4.4.1-1
thanks