diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-12-04 06:44:19 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-12-04 06:44:19 +0000 |
commit | 3fa057a43770dbb23a0fb21a94cab1789df3277c (patch) | |
tree | 64966e7210e3f5894aeff8abf63af39dfe1d22d2 | |
parent | 98fd70c20f55a656de0c40a7f5fb982166c2ad34 (diff) | |
download | gcc-3fa057a43770dbb23a0fb21a94cab1789df3277c.zip gcc-3fa057a43770dbb23a0fb21a94cab1789df3277c.tar.gz gcc-3fa057a43770dbb23a0fb21a94cab1789df3277c.tar.bz2 |
compiler: Reject invalid nil == nil comparisons.
From-SVN: r194119
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index bfc1b62..e0690e7 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -5610,6 +5610,11 @@ Binary_expression::do_check_types(Gogo*) || this->op_ == OPERATOR_GT || this->op_ == OPERATOR_GE) { + if (left_type->is_nil_type() && right_type->is_nil_type()) + { + this->report_error(_("invalid comparison of nil with nil")); + return; + } if (!Type::are_assignable(left_type, right_type, NULL) && !Type::are_assignable(right_type, left_type, NULL)) { |