public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dwwork at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/102510] Function call has unnecessary stride check
Date: Tue, 28 Sep 2021 19:26:04 +0000	[thread overview]
Message-ID: <bug-102510-4-quh8KuCm9M@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-102510-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #4 from Dalon Work <dwwork at gmail dot com> ---
No, I don't think there is more to expect. My mistaken assumption was that the
return value of the function had to be a contiguous array of 8 elements. I
don't find this to be a stupid assumption, since the declaration looks so
similar to that of the dummy arguments. See:

function add2vecs2(a,b)
    use iso_fortran_env, only: r32 => real32
    real(r32), dimension(8), intent(in) :: a,b
    real(r32), dimension(8) :: add2vecs2 ! Basically the same as the prev line
    add2vecs2 = a + b
end function


But, as I've been informed, that is not the case. Apparently nothing enforces
this "contiguous" restriction on function array return values, and so gfortran
has taken the liberty of constructing an array descriptor instead. It's good to
know that when given more information, inlining is able to figure that out, but
when compiled in isolation, the function needs to check the array descriptor.

I'm satisfied with the answers here, so if you want to close it as not a bug,
I'm okay with that.

Thanks for the help.

Dalon

  parent reply	other threads:[~2021-09-28 19:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28  2:17 [Bug fortran/102510] New: Function call has unnecessary aliasing check dwwork at gmail dot com
2021-09-28  8:54 ` [Bug fortran/102510] Function call has unnecessary stride check rguenth at gcc dot gnu.org
2021-09-28 13:55 ` dwwork at gmail dot com
2021-09-28 19:03 ` anlauf at gcc dot gnu.org
2021-09-28 19:26 ` dwwork at gmail dot com [this message]
2021-09-29 21:01 ` anlauf 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-102510-4-quh8KuCm9M@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).