This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/32240] New: wstring::length() does not work properly with --short-wchar
- From: "jigglypuff at spambob dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jun 2007 06:51:27 -0000
- Subject: [Bug c++/32240] New: wstring::length() does not work properly with --short-wchar
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
wstring::length() does not work properly with --short-wchar
I'm not sure if this bug is in gcc or glibc. It could be that gcc does not
properly set a certain variable with --short-wchar, or, it could be that glibc
does not properly implement wstring, always assuming a 4-byte wchar_t.
Here is a sample:
// tmp2.cpp
#include <iostream>
int main(int argc, char ** argv)
{
std::wstring wstr = L"Hello, World!";
std::wcout << wstr.length() << std::endl;
return 0;
}
$ g++ -o tmp tmp2.cpp
$ ./tmp
13
$ g++ -o tmp tmp2.cpp --short-wchar
$ ./tmp
19
They should both say 13. ymmv, but the length value given is usually wrong. How
wrong may vary.
--
Summary: wstring::length() does not work properly with --short-
wchar
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jigglypuff at spambob dot com
GCC build triplet: ?
GCC host triplet: i686-linux-gnu
GCC target triplet: i486-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32240