http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53159
Bug #: 53159 Summary: Missing narrowing check Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org In this example, I get narrowing warnings for a and b but not c. struct X { constexpr operator int() { return __INT_MAX__; } }; int f(){ return __INT_MAX__; } signed char a { __INT_MAX__ }; signed char b { f() }; signed char c { X{} };