-fstrict-overflow optimizations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133761
138bc75d-0d04-0410-961f-
82ee72b054a4
+2008-03-31 Ian Lance Taylor <iant@google.com>
+
+ * cp-demangle.c (d_substitution): Correct overflow check to avoid
+ -fstrict-overflow optimizations.
+
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (frags): Don't set, use frag instead.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (frags): Don't set, use frag instead.
c = d_next_char (di);
if (c == '_' || IS_DIGIT (c) || IS_UPPER (c))
{
c = d_next_char (di);
if (c == '_' || IS_DIGIT (c) || IS_UPPER (c))
{
id = 0;
if (c != '_')
{
do
{
id = 0;
if (c != '_')
{
do
{
- id = id * 36 + c - '0';
+ new_id = id * 36 + c - '0';
- id = id * 36 + c - 'A' + 10;
+ new_id = id * 36 + c - 'A' + 10;
c = d_next_char (di);
}
while (c != '_');
c = d_next_char (di);
}
while (c != '_');
- if (id >= di->next_sub)
+ if (id >= (unsigned int) di->next_sub)
return NULL;
++di->did_subs;
return NULL;
++di->did_subs;