public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Harald Anlauf <anlauf@gmx.de>
To: sgk@troutmask.apl.washington.edu
Cc: Mikael Morin <morin-mikael@orange.fr>,
	fortran <fortran@gcc.gnu.org>,
	gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] Fortran: use name of array component in runtime error message [PR30802]
Date: Mon, 29 Jan 2024 18:25:37 +0100	[thread overview]
Message-ID: <70fc4304-74b4-4d8c-8172-9c3286bc9ada@gmx.de> (raw)
In-Reply-To: <ZbbKiS9oXxDrifpO@troutmask.apl.washington.edu>

Am 28.01.24 um 22:43 schrieb Steve Kargl:
> On Sun, Jan 28, 2024 at 08:56:24PM +0100, Harald Anlauf wrote:
>>
>> Am 28.01.24 um 12:39 schrieb Mikael Morin:
>>> Le 24/01/2024 à 22:39, Harald Anlauf a écrit :
>>>> Dear all,
>>>>
>>>> this patch is actually only a followup fix to generate the proper name
>>>> of an array reference in derived-type components for the runtime error
>>>> message generated for the bounds-checking code.  Without the proper
>>>> part ref, not only a user may get confused: I was, too...
>>>>
>>>> The testcase is compile-only, as it is only important to check the
>>>> strings used in the error messages.
>>>>
>>>> Regtested on x86_64-pc-linux-gnu.  OK for mainline?
>>>>
>>>
>>> the change proper looks good, and is an improvement.  But I'm a little
>>> concerned by the production of references like in the test x1%vv%z which
>>> could be confusing and is strictly speaking invalid fortran (multiple
>>> non-scalar components).  Did you consider generating x1%vv(?,?)%zz or
>>> x1%vv(...)%z or similar?
>>
>> yes, that seems very reasonable, given that this is what NAG does.
>>
>> We also have spurious %_data in some error messages that I'll try
>> to get rid off.
>>
>
> I haven't looked at the patch, but sometimes (if not always) things
> like _data are marked with attr.artificial.  You might see if this
> will help with suppressing spurious messages.

I was talking about the generated format strings of runtime error
messages.

program p
   implicit none
   type t
      real :: zzz(10) = 42
   end type t
   class(t), allocatable :: xx(:)
   integer :: j
   j = 0
   allocate (t :: xx(1))
   print *, xx(1)% zzz(j)
end

This is generating the following error at runtime since at least gcc-7:

Fortran runtime error: Index '0' of dimension 1 of array 'xx%_data%zzz'
below lower bound of 1

I believe you were recalling bogus warnings at compile time.
There are no warnings here, and there shouldn't.


  parent reply	other threads:[~2024-01-29 17:25 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-24 21:39 Harald Anlauf
2024-01-28 11:39 ` Mikael Morin
2024-01-28 19:56   ` Harald Anlauf
2024-01-28 21:43     ` Steve Kargl
2024-01-29  6:51       ` rep.dot.nop
2024-01-29 17:25       ` Harald Anlauf [this message]
2024-01-29 20:50         ` Harald Anlauf
2024-01-30 10:38           ` Mikael Morin
2024-01-30 10:46             ` Mikael Morin
2024-03-10 21:31               ` [PATCH, v2] " Harald Anlauf
2024-03-15 16:31                 ` Mikael Morin
2024-03-15 17:26                   ` Harald Anlauf
2024-03-15 19:29                     ` Mikael Morin
2024-03-20 20:24                       ` [PATCH, v3] Fortran: improve array component description " Harald Anlauf
2024-03-21 13:07                         ` Mikael Morin

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=70fc4304-74b4-4d8c-8172-9c3286bc9ada@gmx.de \
    --to=anlauf@gmx.de \
    --cc=fortran@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=morin-mikael@orange.fr \
    --cc=sgk@troutmask.apl.washington.edu \
    /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).