]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix BZ 119317: named loops (C2y) with debug info
authorChristopher Bazley <chris.bazley@arm.com>
Thu, 1 May 2025 21:00:42 +0000 (22:00 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 1 May 2025 21:00:42 +0000 (22:00 +0100)
commit25921d664242f651ed8a25b3db55093a19a5ae7b
treea31f10b140de37446eb013e107daadabf5c954e4
parent87c4460024dadef0aa1c767be146ad3831857ebe
Fix BZ 119317: named loops (C2y) with debug info

Named loops (C2y) could not previously be compiled with
-O1 and -ggdb2 or higher because the label preceding
a loop (or switch) could not be found when using such
command lines.

This could be observed by compiling
gcc/gcc/testsuite/gcc.dg/c2y-named-loops-1.c with
the provoking command line (or any minimal example such
as that cited in the bug report).

The fix was simply to ignore the tree nodes inserted
for debugging information.

Base commit is 79aa2a283a8d3327ff4d6dca77e81d5b1ac3a01e

PR c/119317

gcc/c/ChangeLog:

* c-decl.cc (c_get_loop_names): Do not prematurely
end the search for a label that names a loop or
switch statement upon encountering a DEBUG_BEGIN_STMT.
Instead, ignore any instances of DEBUG_BEGIN_STMT.

gcc/testsuite/ChangeLog:

* gcc.dg/c2y-named-loops-8.c: New test.
gcc/c/c-decl.cc
gcc/testsuite/gcc.dg/c2y-named-loops-8.c [new file with mode: 0644]