aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorDave Brolley <brolley@cygnus.com>1998-10-16 12:42:35 +0000
committerDave Brolley <brolley@gcc.gnu.org>1998-10-16 08:42:35 -0400
commitcde7b1b0665b9fcaccca165c9f78481e8ab0c409 (patch)
tree68cef3502a81aa996ab1af11e506c6a8da51b82c /gcc/cp
parent1f3d9c636bc9510154a93ea10c0ceebcb038af15 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/cp/lex.c12
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 */
}