http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58580

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |manu at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Also fixed with -fno-diagnostic-show-caret.  ltrace shows

fputs("test.cpp:3:1: warning: null char"..., 0x7fbaa148c700test.cpp:3:1:
warning: null character(s) preserved in literal [enabled by default]
) = 1
fflush(0x7fbaa148c700)                           = 0
memcpy(0x0378c04f, """, 3)                       = 0x0378c04f
memcpy(0x037f2a40, "\003", 16)                   = 0x037f2a40
__errno_location()                               = 0x7fbaa21db698
malloc(19)                                       = 0x0375dc60
memcpy(0x0375dc60, "enabled by default", 19)     = 0x0375dc60
memcpy(0x7ffff4e3bc60, "null character(s) preserved in l"..., 38) =
0x7ffff4e3bc60
memcpy(0x7ffff4e3bc86, " ", 1)                   = 0x7ffff4e3bc86
memcpy(0x7ffff4e3bc87, "[", 1)                   = 0x7ffff4e3bc87
memcpy(0x7ffff4e3bc88, "enabled by default", 18) = 0x7ffff4e3bc88
memcpy(0x7ffff4e3bc9a, "]", 1)                   = 0x7ffff4e3bc9a
free(0x0375dc60)                                 = <void>
memset(0x7ffff4e3b990, '\000', 240)              = 0x7ffff4e3b990
vasprintf(0x7ffff4e3bae8, 0x19eed82, 0x7ffff4e3bad0, 0x19eed82, 1) = 23
strlen("null character(s) preserved in l"...)    = 59
strlen("test.cpp:4:1: warning: ")                = 23
memcpy(0x03784ac0, "test.cpp:4:1: warning: ", 23) = 0x03784ac0
memcpy(0x03784ad7, "null character(s) preserved in l"..., 59) = 0x03784ad7
fopen("test.cpp", "r")                           = 0x37c07c0
fgets("", -1575075836, 0x37c08a0)                = 0x7fbaa040f010
realloc(0x7fbaa040f010, 13107200)                = 0x7fba9f78e010
fgets("", -1575075832, 0x37c08a0)                = 0x7fba9f78e011
realloc(0x7fba9f78e010, 26214400)                = 0x7fba9de8d010
fgets("", -1575075828, 0x37c08a0)                = 0x7fba9de8d012
realloc(0x7fba9de8d010, 52428800)                = 0x7fba9ac8c010
fgets("", -1575075824, 0x37c08a0)                = 0x7fba9ac8c013
realloc(0x7fba9ac8c010, 104857600)               = 0x7fba9488b010
fgets("", -1575075820, 0x37c08a0)                = 0x7fba9488b014
realloc(0x7fba9488b010, 209715200)               = 0x7fba8808a010
fgets("\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"...,
-1575075840, 0x37c08a0) = NULL
fgets("\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"...,
-1575075840, 0x37c08a0) = NULL
fclose(0x37c07c0)                                = 0

so it seems to go completely bollocks re-reading from the source for displaying
the offending line.

Reply via email to