projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ba78087
)
Avoid overflow error after negative shift count error.
author
Ian Lance Taylor
<ian@gcc.gnu.org>
Fri, 25 Mar 2011 19:23:10 +0000
(19:23 +0000)
committer
Ian Lance Taylor
<ian@gcc.gnu.org>
Fri, 25 Mar 2011 19:23:10 +0000
(19:23 +0000)
From-SVN: r171523
gcc/go/gofrontend/expressions.cc
patch
|
blob
|
history
diff --git
a/gcc/go/gofrontend/expressions.cc
b/gcc/go/gofrontend/expressions.cc
index 861d5c0ca9914291a20da8821faf42a24b4702d8..2ee4a696db9a4abe08f347671b34e831c1e8b34d 100644
(file)
--- a/
gcc/go/gofrontend/expressions.cc
+++ b/
gcc/go/gofrontend/expressions.cc
@@
-5747,7
+5747,13
@@
Binary_expression::do_check_types(Gogo*)
if (this->right_->integer_constant_value(true, val, &type))
{
if (mpz_sgn(val) < 0)
- this->report_error(_("negative shift count"));
+ {
+ this->report_error(_("negative shift count"));
+ mpz_set_ui(val, 0);
+ source_location rloc = this->right_->location();
+ this->right_ = Expression::make_integer(&val, right_type,
+ rloc);
+ }
}
mpz_clear(val);
}