Merge pull request #5448 from Vexu/translate-c
Translate-c use correct scope in for loop condition
This commit is contained in:
@@ -2515,7 +2515,7 @@ fn transForLoop(
|
||||
}
|
||||
var cond_scope = Scope.Condition{
|
||||
.base = .{
|
||||
.parent = scope,
|
||||
.parent = &loop_scope,
|
||||
.id = .Condition,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
\\}
|
||||
,"");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user