compiler: make comparison operator() methods const
This is required for new versions of libgo in C++17 mode.
Fixes GCC PR 83102.
Change-Id: Iba7a9010b9fb748e0b93f54e25941d776015388f
Reviewed-on: https://go-review.googlesource.com/79396
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/go/gogo.h b/go/gogo.h
index 345a15d..338770f 100644
--- a/go/gogo.h
+++ b/go/gogo.h
@@ -117,7 +117,7 @@
// For sorting purposes.
struct Import_init_lt {
- bool operator()(const Import_init* i1, const Import_init* i2)
+ bool operator()(const Import_init* i1, const Import_init* i2) const
{
return i1->init_name() < i2->init_name();
}
diff --git a/go/parse.cc b/go/parse.cc
index 28b1772..f7d53af 100644
--- a/go/parse.cc
+++ b/go/parse.cc
@@ -20,7 +20,7 @@
bool
Parse::Enclosing_var_comparison::operator()(const Enclosing_var& v1,
- const Enclosing_var& v2)
+ const Enclosing_var& v2) const
{
if (v1.var() == v2.var())
return false;
diff --git a/go/parse.h b/go/parse.h
index e416072..2ba8457 100644
--- a/go/parse.h
+++ b/go/parse.h
@@ -127,7 +127,7 @@
struct Enclosing_var_comparison
{
bool
- operator()(const Enclosing_var&, const Enclosing_var&);
+ operator()(const Enclosing_var&, const Enclosing_var&) const;
};
// A set of Enclosing_var entries.