This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c++/4874: Using wide characters arrays sign extends the character data

[Get raw message]

>Number:         4874
>Category:       c++
>Synopsis:       Using wide characters arrays sign extends the character data
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 14 02:36:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     John Allen
>Release:        gcc 3.0.2 (Mandrake)
>Organization:
>Environment:
Mandrake Linux 8.1
>Description:
The following code produces incorrect results with the
non-ascii characters being sign extended.

wchar_t* wcp = L"Schöne Grüße";
>How-To-Repeat:
Compile with gcc 3.02, and run as ./utf8 UTF-8
>Fix:
Compile with gcc 2.95.2
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="utf8.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="utf8.cpp"

I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHN0cmluZz4K
I2luY2x1ZGUgPGxvY2FsZS5oPgojaW5jbHVkZSA8d2NoYXIuaD4KCi8vdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKCnR5cGVkZWYgd2NoYXJfdCBET01DaGFyOwoKY2xhc3MgRE9NU3RyaW5nOiAKCXB1Ymxp
YyBiYXNpY19zdHJpbmc8RE9NQ2hhcj4KewpwdWJsaWM6CglET01TdHJpbmcoY29uc3QgRE9NQ2hh
ciogcyk6CgkJYmFzaWNfc3RyaW5nPERPTUNoYXI+KHMpCgl7Cgl9CgoJRE9NU3RyaW5nKGNvbnN0
IGNoYXIqIHMpCgl7CgkJY29uc3QgdW5zaWduZWQgY2hhciogcHMgPSAoY29uc3QgdW5zaWduZWQg
Y2hhciopczsKCQlET01DaGFyKiB0bXAgPSBuZXcgRE9NQ2hhcltzdHJsZW4ocykrMV07CgkJRE9N
Q2hhciogcCA9IHRtcDsKCgkJd2hpbGUgKCpwcykKCQl7CgkJCSpwKysgPSAqcHMrKzsKCQl9CgkJ
CQoJCSpwKysgPSAnXDAnOwoKCQkqZHluYW1pY19jYXN0PGJhc2ljX3N0cmluZzxET01DaGFyPio+
KHRoaXMpID0gdG1wOwoJCWRlbGV0ZSB0bXA7Cgl9CgoJZnJpZW5kIG9zdHJlYW0mIG9wZXJhdG9y
PDwob3N0cmVhbSYgbywgY29uc3QgRE9NU3RyaW5nJiBzKTsKCnByaXZhdGU6Cn07Cgpvc3RyZWFt
JiBvcGVyYXRvcjw8KG9zdHJlYW0mIG8sIGNvbnN0IERPTVN0cmluZyYgcykKewoJY29uc3QgRE9N
Q2hhciogcCA9IHMuY19zdHIoKTsKCgl3aGlsZSAoKnApCgl7CgkJbyA8PCBoZXggPDwgKnArKyA8
PCAiICI7CgkJLy9vIDw8IGNoYXIoKnArKyAmIDB4MDBGRik7Cgl9CgoJcmV0dXJuIG87Cn0KCmlu
dCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCnsKCWZvciAoaW50IGk9MTsgaSA8IGFyZ2M7
IGkrKykKCXsKCQlpZiAoIXNldGxvY2FsZShMQ19DVFlQRSwgYXJndltpXSkpIHsKCQkgIGNlcnIg
PDwgIkNhbid0IHNldCB0aGUgc3BlY2lmaWVkIGxvY2FsZSEgIgoJCQkJICAiQ2hlY2sgTEFORywg
TENfQ1RZUEUsIExDX0FMTC4iIDw8IGVuZGw7CgkJICByZXR1cm4gMTsKCQl9CgoJCURPTVN0cmlu
ZyBzKCJTY2j2bmUgR3L832UiKTsKCQkKCQljZXJyIDw8ICJTdHJpbmcgbGVuZ3RoOiIgIDw8IHMu
bGVuZ3RoKCkgPDwgZW5kbDsKCQljZXJyIDw8IHMgPDwgZW5kbDsKCgkJY2hhciB0bXBbNDA5Nl07
CgkJY29uc3Qgd2NoYXJfdCogd2NwID0gcy5jX3N0cigpOyAKCQltYnN0YXRlX3QgbWJzdGF0ZTsK
CgkJaWYgKHdjc3J0b21icyh0bXAsICZ3Y3AsIHNpemVvZih0bXApLCAmbWJzdGF0ZSkgIT0gLTEp
CgkJewoJCQljZXJyIDw8IGFyZ3ZbaV0gPDwgIjogIiA8PCB0bXAgPDwgZW5kbDsKCQl9CgkJZWxz
ZQoJCXsKCQkJY2VyciA8PCAiQ29udmVyc2lvbiBmYWlsZWQiIDw8IGVuZGw7CgkJfQoJfQoJCgly
ZXR1cm4gMDsKfQoK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]