compiler: don't export function type parameter names
When hashing a function type the parameter names are ignored. Therefore, we should not write them into the export data. Otherwise, minor changes in the order in which we process the types can cause the export data to change uselessly, leading to unnecessary rebuilds. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/262818
This commit is contained in:
parent
f33ac3b0cd
commit
1e8e49f135
2 changed files with 7 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
|||
71e161daafa1e19c2c53e28fffc3954d88a4cdb2
|
||||
3b6252d2d3ce559826303dac07538da6e78940d8
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -5182,7 +5182,11 @@ Function_type::do_export(Export* exp) const
|
|||
first = false;
|
||||
else
|
||||
exp->write_c_string(", ");
|
||||
exp->write_name(p->name());
|
||||
// The hash for a function type ignores parameter names, so
|
||||
// we don't want to write them out here. If we did write
|
||||
// them out, we could get spurious changes in export data
|
||||
// when recompiling a package.
|
||||
exp->write_name("");
|
||||
exp->write_c_string(" ");
|
||||
if (!is_varargs || p + 1 != this->parameters_->end())
|
||||
exp->write_type(p->type());
|
||||
|
@ -5213,7 +5217,7 @@ Function_type::do_export(Export* exp) const
|
|||
first = false;
|
||||
else
|
||||
exp->write_c_string(", ");
|
||||
exp->write_name(p->name());
|
||||
exp->write_name("");
|
||||
exp->write_c_string(" ");
|
||||
exp->write_type(p->type());
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue