public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "simon at pushface dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/99360] New: ICE in generalized iteration
Date: Wed, 03 Mar 2021 11:55:44 +0000	[thread overview]
Message-ID: <bug-99360-4@http.gcc.gnu.org/bugzilla/> (raw)

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

            Bug ID: 99360
           Summary: ICE in generalized iteration
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: simon at pushface dot org
  Target Milestone: ---

Created attachment 50292
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50292&action=edit
Reproducer

This is a regression from GCC 10.

It arises when compiling a generalized iteration (in the case of the
bug box below, 'for Cursor in V.Iterate loop', also for existential &
universal quantifiers) against an independently-developed arm-eabi
RTS[1]. It does *not* happen against f.e. ravenscar-full-stm32f4.

This is the result of compiling with the native compiler against the
set of files reported by the arm-eabi compiler (attached):

$ gnatmake -c -u -f iteration.adb
gcc -c iteration.adb
+===========================GNAT BUG DETECTED==============================+
| 11.0.0 20210205 (experimental) (x86_64-apple-darwin15) Program_Error
sem_ch8.adb:5490 explicit raise|
| Error detected at iteration.adb:13:8                                     |
| 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.                                       |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

system.ads
iteration.adb
ada.ads
a-contai.ads
a-cobove.ads
a-iteint.ads
a-stream.ads
a-tags.ads
s-stoele.ads
s-secsta.ads
s-parame.ads
s-taskin.ads
s-freert.ads
interfac.ads
s-fretas.ads
s-stratt.ads
s-unstyp.ads

What investigation I've been able to do suggests that it's possibly
related to tasking and/or finalization being brought in when not
needed (it used not to be with GCC 10).

Emmanuel B. (ex-AdaCore) said in [2]:

   Might be unrelated, but: we have noticed recently that a
   generalized iteration ("for..of") was wrongly calling
   `activate_task`. In particular, this resulted in errors when
   executing such loops from a protected object and enabling the
   checks that no potentially blocking operation is executed in such
   contexts.

   We reported this to AdaCore who fixed it in their more recent
   wavefronts. I am not sure when the error started to occur though,
   so maybe not that helpful to you :-)

----

[1] https://github.com/simonjwright/cortex-gnat-rts
[2] https://groups.google.com/g/comp.lang.ada/c/c5qncqgkgYk/m/Cp-mty5wAgAJ

             reply	other threads:[~2021-03-03 11:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 11:55 simon at pushface dot org [this message]
2021-03-04  9:04 ` [Bug ada/99360] [11 regression] " ebotcazou at gcc dot gnu.org
2021-03-04  9:19 ` ebotcazou at gcc dot gnu.org
2021-03-04  9:27 ` ebotcazou at gcc dot gnu.org
2021-03-04 22:37 ` simon at pushface dot org
2021-03-04 22:58 ` ebotcazou at gcc dot gnu.org
2021-04-09  8:29 ` rguenth at gcc dot gnu.org
2021-04-21  9:19 ` [Bug ada/99360] [11/12 " cvs-commit at gcc dot gnu.org
2021-04-21  9:21 ` [Bug ada/99360] [12 " ebotcazou at gcc dot gnu.org
2021-04-27 11:40 ` jakub at gcc dot gnu.org
2021-07-28  7:06 ` rguenth at gcc dot gnu.org
2022-02-12 17:17 ` simon at pushface dot org
2022-02-12 17:41 ` charlet 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-99360-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).