compiler: improve recursive type detection
Detect recursive type definition like "type T0 T1; type T1 T2; ...... type Tn T0". Fixes golang/go#25320. Reviewed-on: https://go-review.googlesource.com/c/159837 From-SVN: r268347
This commit is contained in:
parent
52bfbb69e7
commit
ab1be99f2b
|
@ -1,4 +1,4 @@
|
|||
d67c4bf0c42b79d54925ba8c5f23278ee6c3efb6
|
||||
5ccb2d8593963e06ec3a35d362b384e82301d9f0
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -10259,6 +10259,15 @@ Find_type_use::type(Type* type)
|
|||
break;
|
||||
|
||||
case Type::TYPE_NAMED:
|
||||
if (type->named_type() == type->base()->named_type())
|
||||
{
|
||||
this->found_ = true;
|
||||
return TRAVERSE_EXIT;
|
||||
}
|
||||
else
|
||||
go_assert(saw_errors());
|
||||
break;
|
||||
|
||||
case Type::TYPE_FORWARD:
|
||||
go_assert(saw_errors());
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue