public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/96956] When gcc does not see a label used in a goto it gives the wrong label  address &&label
Date: Mon, 07 Sep 2020 15:35:11 +0000	[thread overview]
Message-ID: <bug-96956-4-EdVdKg2lh6@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-96956-4@http.gcc.gnu.org/bugzilla/>

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Your testcase is invalid.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Labels-as-Values.html#Labels-as-Values
"You may not use this mechanism to jump to code in a different function. If you
do that, totally unpredictable things happen."
GCC has a different extension, described in the Local labels chapter, non-local
labels, but in that case the goto needs to be direct to the non-local label,
not using a computed goto.
What you see is the result of the compiler not adding any edges in the cfg from
the nested function to the label with address taken, the compiler only does
that for non-local labels, or between computed gotos in the current function
and the labels whose address is taken.

  reply	other threads:[~2020-09-07 15:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-07 14:01 [Bug c/96956] New: " thomas.lynch at reasoningtechnology dot com
2020-09-07 15:35 ` jakub at gcc dot gnu.org [this message]
2021-03-26  7:43 ` [Bug c/96956] " pinskia at gcc dot gnu.org
2024-03-16 17:58 ` pinskia 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-96956-4-EdVdKg2lh6@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).