[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Known to work||10.2.1 Summary|Asm labels declared inside |[11 Regression] Asm labels |a function are ignored |declared inside a function ||are ignored Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Target Milestone|--- |11.0 Keywords||wrong-code Last reconfirmed||2021-03-10 Known to fail||11.0 --- Comment #1 from Richard Biener --- Confirmed. Works with the C frontend.
[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org, ||nathan at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- This changed with r11-3699-g4e62aca0e0520e4ed2532f2d8153581190621c1a
[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 Nathan Sidwell changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |nathan at gcc dot gnu.org --- Comment #3 from Nathan Sidwell --- Apparently copy_decl doesn't copy_decl :)
[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 --- Comment #4 from CVS Commits --- The master branch has been updated by Nathan Sidwell : https://gcc.gnu.org/g:b97af562b574697a4fff7fb8c69f579c01e70dec commit r11-7605-gb97af562b574697a4fff7fb8c69f579c01e70dec Author: Nathan Sidwell Date: Wed Mar 10 07:39:51 2021 -0800 c++: Propagate assembler name from local-externs [PR 99508] This is another place where our one-true-decl representation breaks down. The fix here propagates the assembly name to the ns-scope alias. that fixes the reported problem but changes the behaviour when the user has explicitly declared the entity in its namespace. However, we didn't handle that case 'correctly' anyway before. Previously we'd also ignore the explicitly specified assembler name, now we propagate it. It's not clear to me what the desired semantics would be in decorating just one of the local extern declarations this way. I don't think we can really do better without propagating this aliasing property into the middle end (which is also needed for some constexpr handling, see PR97306). I tried that before and it turned into a rat-hole. PR c++/99508 gcc/cp/ * decl.c (make_rtl_for_nonlocal_decl): Propagate local-extern's assembler name to the ns alias. gcc/testsuite/ * g++.dg/ext/pr99508.C: New.
[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 Nathan Sidwell changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Nathan Sidwell --- b97af562b57 2021-03-10 | c++: Propagate assembler name from local-externs [PR 99508]
[Bug c++/99508] [11 Regression] Asm labels declared inside a function are ignored
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99508 --- Comment #6 from Frank Mehnert --- Fix confirmed. Thanks guys!