[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #11 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org --- Author: rsandifo Date: Thu Jan 30 19:44:06 2014 New Revision: 207320 URL: http://gcc.gnu.org/viewcvs?rev=207320root=gccview=rev Log: gcc/cp/ PR c++/58708 * parser.c (make_string_pack): Use double_int::from_buffer. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |4.9.0 --- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com --- Fixed.
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #9 from emsr at gcc dot gnu.org --- Author: emsr Date: Fri Nov 1 23:00:48 2013 New Revision: 204305 URL: http://gcc.gnu.org/viewcvs?rev=204305root=gccview=rev Log: gcc/cp: 2013-11-01 Edward Smith-Rowland 3dw...@verizon.net PR c++/58708 * parser.c (make_string_pack): Discover non-const type and size of character and build parm pack with correct type and chars. gcc/testsuite: 2013-11-01 Edward Smith-Rowland 3dw...@verizon.net PR c++/58708 * g++.dg/cpp1y/pr58708.C: New. Added: trunk/gcc/testsuite/g++.dg/cpp1y/pr58708.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #3 from Hristo Venev mustrumr97 at gmail dot com --- #include iostream templatetypename CharT, CharT... str void operator_foo(){ CharT arr[]{str...}; for(CharT i:arr) std::cout(int)i' '; } int main(){ U\x1\x10001\x10002_foo; } Current output: 0 0 1 0 1 0 1 0 2 0 1 0 0 0 0 Expected output: 65536 65537 65538 Without the \0, char32_t's instead of bytes. The author of the paper intended CharT to be unqualified.
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2013-10-14 Ever confirmed|0 |1 --- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com --- Confirmed.
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #5 from Ed Smith-Rowland 3dw4rd at verizon dot net --- The const qualification of the first parm and the number of elements are wrong. I'm testing a patch.
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #1 from Hristo Venev mustrumr97 at gmail dot com --- Obviously bugzilla doesn't like unicode. U\x1\x10001\x10002 current: const char32_t, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00 expected: char32_t, 0x1, 0x10001, 0x10002
[Bug c++/58708] string literal operator templates broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58708 --- Comment #2 from Ed Smith-Rowland 3dw4rd at verizon dot net --- Hristo, Thanks for finishing your thought. So if i have: templatetypename CharT, CharT... str void operator_foo { ChatT arr[]{str...}; } U\x1\x10001\x10002_foo; I should see this right?