translate-c: use correct scope in for loop condition

This commit is contained in:
Vexu 2020-05-27 01:19:55 +03:00
parent b6e1670d2b
commit cd5b7b9e1d
No known key found for this signature in database
GPG Key ID: 59AEB8936E16A6AC
2 changed files with 14 additions and 1 deletions

View File

@ -2515,7 +2515,7 @@ fn transForLoop(
}
var cond_scope = Scope.Condition{
.base = .{
.parent = scope,
.parent = &loop_scope,
.id = .Condition,
},
};

View File

@ -256,4 +256,17 @@ pub fn addCases(cases: *tests.RunTranslatedCContext) void {
\\ return 0;
\\}
, "");
cases.add("scoped for loops with shadowing",
\\#include <stdlib.h>
\\int main() {
\\ int count = 0;
\\ for (int x = 0; x < 2; x++)
\\ for (int x = 0; x < 2; x++)
\\ count++;
\\
\\ if (count != 4) abort();
\\ return 0;
\\}
,"");
}