public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record
@ 2024-01-02  4:07 nicolas at debian dot org
  2024-01-08  8:38 ` [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality ebotcazou at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: nicolas at debian dot org @ 2024-01-02  4:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113195
           Summary: gnat bug box when comparing access to subtype with
                    access inside record
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nicolas at debian dot org
                CC: dkm at gcc dot gnu.org
  Target Milestone: ---

Hello.

If the 'p.ads' file contains this:
--
package P is
   subtype I is Integer;
   A : access I := null;

   type Rec is record
      Acc : access Integer;
   end record;
   R : Rec := (Acc => null);

   B : Boolean := A = R.Acc;
end P;
--
Then 'gnatmake p' triggers this bug box.

x86_64-linux-gnu-gcc-13 -c p.ads
+===========================GNAT BUG DETECTED==============================+
| 13.2.0 (x86_64-linux-gnu) GCC error:                                     |
| in build_binary_op, at ada/gcc-interface/utils2.cc:1142                  |
| Error detected at p.ads:10:23                                            |
| Compiling p.ads                                                          |
| Please submit a bug report; see https://gcc.gnu.org/bugs/ .              |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact command that you entered.                              |
| Also include sources listed below.                                       |
+==========================================================================+

I have found no shorter reproducer.

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
@ 2024-01-08  8:38 ` ebotcazou at gcc dot gnu.org
  2024-01-08  8:39 ` ebotcazou at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-01-08  8:38 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|gnat bug box when comparing |[13/14 regression] internal
                   |access to subtype with      |error on anonymous access
                   |access inside record        |type equality
   Last reconfirmed|                            |2024-01-08
                 CC|                            |ebotcazou at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The record is actually irrelevant, this only comes from the designated types:

package P is
   subtype I is Integer;
   A : access I;

   Acc : access Integer;

   function F return Boolean is (A = Acc);
end P;

eric@fomalhaut:~/build/gcc/native> ~/install/gcc/bin/gcc -c p.ads 
+===========================GNAT BUG DETECTED==============================+
| 14.0.0 20240108 (experimental) [master r14-6995-g4d31d660620]
(x86_64-suse-linux) GCC error:|
| in build_binary_op, at ada/gcc-interface/utils2.cc:1147                  |
| Error detected at p.ads:7:38 

This worked up to GCC 12.

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
  2024-01-08  8:38 ` [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality ebotcazou at gcc dot gnu.org
@ 2024-01-08  8:39 ` ebotcazou at gcc dot gnu.org
  2024-01-08 14:25 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-01-08  8:39 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |ebotcazou at gcc dot gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Investigating.

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
  2024-01-08  8:38 ` [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality ebotcazou at gcc dot gnu.org
  2024-01-08  8:39 ` ebotcazou at gcc dot gnu.org
@ 2024-01-08 14:25 ` rguenth at gcc dot gnu.org
  2024-01-09  9:28 ` ebotcazou at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-01-08 14:25 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |13.3

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
                   ` (2 preceding siblings ...)
  2024-01-08 14:25 ` rguenth at gcc dot gnu.org
@ 2024-01-09  9:28 ` ebotcazou at gcc dot gnu.org
  2024-01-09  9:31 ` ebotcazou at gcc dot gnu.org
  2024-01-09  9:32 ` ebotcazou at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-01-09  9:28 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Thanks for reporting the problem.

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
                   ` (3 preceding siblings ...)
  2024-01-09  9:28 ` ebotcazou at gcc dot gnu.org
@ 2024-01-09  9:31 ` ebotcazou at gcc dot gnu.org
  2024-01-09  9:32 ` ebotcazou at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-01-09  9:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
https://gcc.gnu.org/g:4d3fd59953bcf423dd0859a2c6b95b5260aed71d

commit r14-7029-g4d3fd59953bcf423dd0859a2c6b95b5260aed71d
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Tue Jan 9 10:21:51 2024 +0100

    Fix internal error on anonymous access type equality

    This is a small regression present on the mainline and 13 branch, in the
    form of an internal error in gigi on anonymous access type equality.  We
    now need to also accept them for anonymous access types that point to
    compatible object subtypes in the language sense.

    gcc/ada/
            * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Relax
            assertion for regular pointer types.

    gcc/testsuite/
            * gnat.dg/specs/anon4.ads: New test.

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

* [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality
  2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
                   ` (4 preceding siblings ...)
  2024-01-09  9:31 ` ebotcazou at gcc dot gnu.org
@ 2024-01-09  9:32 ` ebotcazou at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2024-01-09  9:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
https://gcc.gnu.org/g:13f8c71aebc7df388678c52cffbc11db980d8fa0

commit r13-8202-g13f8c71aebc7df388678c52cffbc11db980d8fa0
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Tue Jan 9 10:21:51 2024 +0100

    Fix internal error on anonymous access type equality

    This is a small regression present on the mainline and 13 branch, in the
    form of an internal error in gigi on anonymous access type equality.  We
    now need to also accept them for anonymous access types that point to
    compatible object subtypes in the language sense.

    gcc/ada/
            * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Relax
            assertion for regular pointer types.

    gcc/testsuite/
          * gnat.dg/specs/anon4.ads: New test.

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

end of thread, other threads:[~2024-01-09  9:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-02  4:07 [Bug ada/113195] New: gnat bug box when comparing access to subtype with access inside record nicolas at debian dot org
2024-01-08  8:38 ` [Bug ada/113195] [13/14 regression] internal error on anonymous access type equality ebotcazou at gcc dot gnu.org
2024-01-08  8:39 ` ebotcazou at gcc dot gnu.org
2024-01-08 14:25 ` rguenth at gcc dot gnu.org
2024-01-09  9:28 ` ebotcazou at gcc dot gnu.org
2024-01-09  9:31 ` ebotcazou at gcc dot gnu.org
2024-01-09  9:32 ` ebotcazou 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).