[Bug c++/96182] GCC accepts constexpr function with no return-statement

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jul 13 11:59:01 GMT 2020


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

           What    |Removed                     |Added
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The difference is that in C++11 the standard requires that the body of a
constexpr function is return expression, that is not the case of C++14 anymore.
And, you'd get an error if you tried constexpr int a = foo (); i.e. when it is
evaluated in constant expression, but when it is only evaluated e.g. in int b =
foo (); it is a problem only at runtime.

More information about the Gcc-bugs mailing list