Unlike other *Loc member in FunctionScopeInfo, we didn't clear
FirstVLALoc in 'FunctionScopeInfo::Clear()'. Then it will be
problematic for the following case:
```
void bar(int n) {
int array[n];
return;
}
coroutine foo(int n) {
co_return;
}
```
When we parse `foo`, the FirstVLALoc is still valid, then the compiler
will report `vla in coroutine` error in bar, which is super odd. After
this patch, we can fix this.
8.4 KiB
8.4 KiB