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

nightstrike <nightstrike at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nightstrike at gmail dot com

--- Comment #17 from nightstrike <nightstrike at gmail dot com> ---
(In reply to Arsen Arsenović from comment #16)
> can't we assume that following the aforementioned
> https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1766 ?  at
> least in C++>=17 (and, this bug should either be hijacked or remade for C++,
> probably)

As long as we are hijacking for C++, the following should not warn, given how
enum class works:

$ cat e.cc
enum class E {
        A,
        B,
};

char get(E e) {
        switch (e) {
                case E::A: return 'a';
                case E::B: return 'b';
        }
}

$ g++-14.1 -c e.cc

e.cc: In function 'char get(E)':
e.cc:11:1: warning: control reaches end of non-void function [-Wreturn-type]
   11 | }
      | ^

Reply via email to