[Bug c++/69138] Woverflow not triggered for constexpr within template class
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 27 20:35:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69138
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |msebor at gcc dot gnu.org
Blocks| |55004
Known to fail| |4.9.3, 5.3.0, 6.0
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
I don't think the test case necessarily demonstrates a bug. The implicit
instantiation of B<int> that's triggered by the definition of an object of the
specialization "causes the implicit instantiation of the declarations, but not
of the definitions, [...] of the class [...] static data members; and
it causes the implicit instantiation of the definitions of unscoped member
enumerations and member anonymous unions."
That being said, I think the bug can be reproduced by instantiating (e.g., by
virtue of using) B<int>::small_within_templated_class, for example like so:
template <typename T>
class B {
static constexpr uint8_t small_within_templated_class = 0xFFFFFFFF;
};
constexpr uint8_t i = B<int>::small_within_templated_class;
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004
[Bug 55004] [meta-bug] constexpr issues
More information about the Gcc-bugs
mailing list