From cde7b1b0665b9fcaccca165c9f78481e8ab0c409 Mon Sep 17 00:00:00 2001 From: Dave Brolley Date: Fri, 16 Oct 1998 12:42:35 +0000 Subject: lex.c (real_yylex): Fix unaligned access of wchar_t. 1998-10-16 Dave Brolley * lex.c (real_yylex): Fix unaligned access of wchar_t. From-SVN: r23134 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/lex.c | 12 +++++------- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'gcc/cp') 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 + + * lex.c (real_yylex): Fix unaligned access of wchar_t. + 1998-10-16 Mark Mitchell * 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 */ } -- cgit v1.1