public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/65683] New: [5 regression] access types across "limited with" breaks restriction of No_Elaboration_Code
@ 2015-04-07 11:00 demoonlit at panathenaia dot halfmoon.jp
  2015-04-09 10:50 ` [Bug ada/65683] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: demoonlit at panathenaia dot halfmoon.jp @ 2015-04-07 11:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65683

            Bug ID: 65683
           Summary: [5 regression] access types across "limited with"
                    breaks restriction of No_Elaboration_Code
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: demoonlit at panathenaia dot halfmoon.jp

package pkg_a is
   type T is null record; -- non-controlled type
end pkg_a;

pragma Restrictions (No_Elaboration_Code);
limited with pkg_a;
package pkg_b is
   type P is access all pkg_a.T;
   for P'Storage_Size use 0;
end pkg_b;

Compile it with gcc-4.9.2.

  % gcc -c pkg_b.ads
  (success with no messages)

Compile it with gcc-5-20150405.

  % gcc -c pkg_b.ads
  pkg_b.ads:5:09: violation of restriction "no_elaboration_code" at line 2

See pkg_b.ads.dg by -gnatD, the unnecessary master is generated.

pragma restrictions (no_elaboration_code);
limited with pkg_a;
with system.system__soft_links;
with system.system__tasking;

package pkg_b is
   pkg_b___master : constant system__tasking__master_id :=
     system__soft_links__current_master.all;
   pkg_b__pM : system__tasking__master_id renames pkg_b___master;
   type pkg_b__p is access all pkg_a.t;
   for pkg_b__p'storage_size use 0;
   freeze pkg_b__p []
end pkg_b;

[subtype T1s is String (1 .. 73);]
freeze_generic T1s
freeze_generic object_pointer

This master has not appeared until gcc-4.9.
And, if "limited" is removed, it disappears with gcc-5-20150405.


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

end of thread, other threads:[~2023-07-07 10:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-07 11:00 [Bug ada/65683] New: [5 regression] access types across "limited with" breaks restriction of No_Elaboration_Code demoonlit at panathenaia dot halfmoon.jp
2015-04-09 10:50 ` [Bug ada/65683] " rguenth at gcc dot gnu.org
2015-04-22 12:01 ` [Bug ada/65683] [5/6 " jakub at gcc dot gnu.org
2015-07-16  9:19 ` rguenth at gcc dot gnu.org
2021-05-14  9:47 ` [Bug ada/65683] [9/10/11/12 " jakub at gcc dot gnu.org
2021-06-01  8:06 ` rguenth at gcc dot gnu.org
2022-05-27  9:35 ` [Bug ada/65683] [10/11/12/13 " rguenth at gcc dot gnu.org
2022-06-28 10:31 ` jakub at gcc dot gnu.org
2023-07-07 10:30 ` [Bug ada/65683] [11/12/13/14 " rguenth at gcc dot gnu.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).