The line number in the warning below points to the closing brace of the
initializer expression making it difficult to find the offending line if the
initializer is many lines long. I would like to suggest that the line number be
that of the problem line (and perhaps include the column number as well, if
possible, when there is more than one initializer per line).
$ cat t.cpp && g++ -Wall t.cpp
/* 1 */ int main ()
/* 2 */ {
/* 3 */ const struct { short i; } a[] = {
/* 4 */ { 65535U },
/* 5 */ { 65536U }
/* 6 */ };
/* 7 */ (void)&a;
/* 8 */ }
/* 9 */
t.cpp: In function 'int main()':
t.cpp:6: warning: overflow in implicit constant conversion
--
Summary: wrong line number in warning: overflow in implicit
constant conversion
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebor at roguewave dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31158