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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-04-12 
12:21:48 UTC ---
Breakpoint 1, main () at sub.cc:4
4         const wchar_t& z0 = (L"01234")[0];
(gdb) n
5         const wchar_t& z1 = (L"01234")[1];
(gdb)
6         const wchar_t& z2 = (L"01234")[2];
(gdb)
7         const wchar_t& z3 = (L"01234")[3];
(gdb)
8         return (z1 == L'1');
(gdb) p z0
$1 = (const wchar_t &) @0x7fffffffe590: 48 L'0'
(gdb) p z1
$2 = (const wchar_t &) @0x7fffffffe594: 0 L'\000'
(gdb) p z2
$3 = (const wchar_t &) @0x7fffffffe598: 0 L'\000'
(gdb) p z3
$4 = (const wchar_t &) @0x7fffffffe59c: 0 L'\000'

The string literal contains zeroes past the first character

Reply via email to