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

Reply via email to