d: Use Array::find to get index of element

gcc/d/ChangeLog:

	* d-codegen.cc (build_frame_type): Use Array::find to get index of
	element.
This commit is contained in:
Iain Buclaw 2020-06-23 10:46:52 +02:00
parent 4993d0265e
commit 62321ab477
1 changed files with 10 additions and 18 deletions

View File

@ -2507,15 +2507,11 @@ build_frame_type (tree ffi, FuncDeclaration *fd)
{
VarDeclaration *v = (*fd->parameters)[i];
/* Remove if already in closureVars so can push to front. */
for (size_t j = i; j < fd->closureVars.length; j++)
{
Dsymbol *s = fd->closureVars[j];
if (s == v)
{
fd->closureVars.remove (j);
break;
}
}
size_t j = fd->closureVars.find (v);
if (j < fd->closureVars.length)
fd->closureVars.remove (j);
fd->closureVars.insert (i, v);
}
}
@ -2523,15 +2519,11 @@ build_frame_type (tree ffi, FuncDeclaration *fd)
/* Also add hidden `this' to outer context. */
if (fd->vthis)
{
for (size_t i = 0; i < fd->closureVars.length; i++)
{
Dsymbol *s = fd->closureVars[i];
if (s == fd->vthis)
{
fd->closureVars.remove (i);
break;
}
}
size_t i = fd->closureVars.find (fd->vthis);
if (i < fd->closureVars.length)
fd->closureVars.remove (i);
fd->closureVars.insert (0, fd->vthis);
}
}