diff options
author | Dave Brolley <brolley@cygnus.com> | 1998-10-16 12:42:35 +0000 |
---|---|---|
committer | Dave Brolley <brolley@gcc.gnu.org> | 1998-10-16 08:42:35 -0400 |
commit | cde7b1b0665b9fcaccca165c9f78481e8ab0c409 (patch) | |
tree | 68cef3502a81aa996ab1af11e506c6a8da51b82c /gcc/cp | |
parent | 1f3d9c636bc9510154a93ea10c0ceebcb038af15 (diff) | |
download | gcc-cde7b1b0665b9fcaccca165c9f78481e8ab0c409.zip gcc-cde7b1b0665b9fcaccca165c9f78481e8ab0c409.tar.gz gcc-cde7b1b0665b9fcaccca165c9f78481e8ab0c409.tar.bz2 |
lex.c (real_yylex): Fix unaligned access of wchar_t.
1998-10-16 Dave Brolley <brolley@cygnus.com>
* lex.c (real_yylex): Fix unaligned access of wchar_t.
From-SVN: r23134
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/lex.c | 12 |
2 files changed, 9 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 50694ee..317161b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1998-10-16 Dave Brolley <brolley@cygnus.com> + + * lex.c (real_yylex): Fix unaligned access of wchar_t. + 1998-10-16 Mark Mitchell <mark@markmitchell.com> * class.c (add_method): Fix documentation to reflect previous diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index d69dc6e..3f0ab47 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -4214,15 +4214,13 @@ real_yylex () /* mbtowc sometimes needs an extra char before accepting */ if (char_len <= i) put_back (c); - if (wide_flag) + if (! wide_flag) { - *(wchar_t *)p = wc; - p += sizeof (wc); + p += (i + 1); + c = getch (); + continue; } - else - p += (i + 1); - c = getch (); - continue; + c = wc; } #endif /* MULTIBYTE_CHARS */ } |