comp.lang.ada
 help / color / mirror / Atom feed
From: Blady <p.p11@orange.fr>
Subject: Pack aspect with aliased component.
Date: Sun, 2 Mar 2025 10:29:28 +0100	[thread overview]
Message-ID: <vq18dq$nfjk$1@dont-email.me> (raw)

Hello,

With the following AARM example:
14.e/3          {AI05-0229-1} procedure Q is
                    use P1, P2;
                    type Array1 is array(Integer range <>) of aliased S1
                       with Pack; -- warning: cannot pack aliased 
components (RM 13.2(7))

GNAT issues the warning in comment above.

Mentions of aliased in following AARM paragraphs are not so clear for me:
13.2 Packed Types

7.1/4   * {AI12-0001-1} Any component of a packed type that is of a
         by-reference type, that is specified as independently 
addressable, or
         that contains an aliased part, shall be aligned according to the
         alignment of its subtype.

9.c/3       {AI95-00291-02} {AI05-0229-1} Added clarification that the Pack
             aspect can ignore alignment requirements on types that 
don't have
             by-reference or aliased parts. This was always intended, 
but there
             was no wording to that effect.

What is correct ?
Why packed type couldn't have aliased components?

Thanks, Pascal.

             reply	other threads:[~2025-03-02  9:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-02  9:29 Blady [this message]
2025-03-02 11:33 ` Pack aspect with aliased component Jeffrey R.Carter
2025-03-06 20:52   ` Blady
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox