public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "demoonlit at panathenaia dot halfmoon.jp" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/65683] New: [5 regression] access types across "limited with" breaks restriction of No_Elaboration_Code
Date: Tue, 07 Apr 2015 11:00:00 -0000	[thread overview]
Message-ID: <bug-65683-4@http.gcc.gnu.org/bugzilla/> (raw)

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.


             reply	other threads:[~2015-04-07 11:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07 11:00 demoonlit at panathenaia dot halfmoon.jp [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-65683-4@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).