Function_type and Backend_function_type have different backend
representations, so they should not be identical. Otherwise it
confuses Type::type_btypes map.
Reviewed-on: https://go-review.googlesource.com/90975
From-SVN: r257216
-bbce8a9af264b25c5f70bafb2ce95d4fed158d68
+a347356d0f432cafb69f0cc5833d27663736a042
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
Cmp_tags cmp_tags, bool errors_are_identical,
std::string* reason) const
{
+ if (this->is_backend_function_type() != t->is_backend_function_type())
+ return false;
+
if (!ignore_receiver)
{
const Typed_identifier* r1 = this->receiver();
Btype*
get_backend_fntype(Gogo*);
+ // Return whether this is a Backend_function_type.
+ virtual bool
+ is_backend_function_type() const
+ { return false; }
+
protected:
int
do_traverse(Traverse*);
: Function_type(receiver, parameters, results, location)
{ }
+ // Return whether this is a Backend_function_type. This overrides
+ // Function_type::is_backend_function_type.
+ bool
+ is_backend_function_type() const
+ { return true; }
+
protected:
Btype*
do_get_backend(Gogo* gogo)