diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2018-01-11 08:54:21 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-01-11 08:54:21 +0000 |
commit | 715a5d519184ef4251d590ef874e2ef493e92ffe (patch) | |
tree | 7ee34e20519b550c87b04b34d832978dd6e02a59 /gcc/ada/rtfinal.c | |
parent | a2fd4f0efe04ccf7052b367b407de4c92acfa795 (diff) | |
download | gcc-715a5d519184ef4251d590ef874e2ef493e92ffe.zip gcc-715a5d519184ef4251d590ef874e2ef493e92ffe.tar.gz gcc-715a5d519184ef4251d590ef874e2ef493e92ffe.tar.bz2 |
[Ada] Incorrect diagnostic on illegal with clause
This patch updates the detection of illegal with clauses which import private
child packages to properly detect a grandchild of Ada.
------------
-- Source --
------------
-- fake.ads
package Fake is
end Fake;
-- fake-ada.ads
package Fake.Ada is
end Fake.Ada;
-- fake-ada-text_io.ads
package Fake.Ada.Text_IO is
end Fake.Ada.Text_IO;
-- fake-ada-text_io-float_io.ads
private generic
type Num is digits <>;
package Fake.Ada.Text_IO.Float_IO is
end Fake.Ada.Text_IO.Float_IO;
-- fake-float_io.ads
private generic
type Num is digits <>;
package Fake.Float_IO is
end Fake.Float_IO;
-- main.ads
with Fake.Ada.Text_IO.Float_IO;
with Fake.Float_IO;
package Main is
end Main;
----------------------------
-- Compilation and output --
----------------------------
$ gcc -c main.ads
main.ads:1:06: unit in with clause is private child unit
main.ads:1:06: current unit must also have parent "Text_IO"
main.ads:2:06: unit in with clause is private child unit
main.ads:2:06: current unit must also have parent "Fake"
2018-01-11 Hristian Kirtchev <kirtchev@adacore.com>
gcc/ada/
* sem_ch10.adb (Check_Private_Child_Unit): Ensure that the enclosing
scope of package Ada is Standard.
From-SVN: r256515
Diffstat (limited to 'gcc/ada/rtfinal.c')
0 files changed, 0 insertions, 0 deletions