https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105195
Bug ID: 105195 Summary: spurious warning label defined but not used with if constexpr Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: barry.revzin at gmail dot com Target Milestone: --- Similar to other "if constexpr" related warnings, gcc warns on this example: void g(); void h(); template <bool B> void f() { if constexpr (B) { goto label; } g(); label: h(); } int main() { f<false>(); } <source>:12:1: warning: label 'label' defined but not used [-Wunused-label] 12 | label: | ^~~~~ But the label is used, just not in this particular instantiation.