This fixes a regression exposed by r307795 in which the level of a comment line
between '}' and a preprocessor directive is incorrectly set as the level of the
line before the '}'. In effect, this:
int f(int i) {
int j = i;
return i + j;
}
// comment
#ifdef A
#endifwas formatted as:
int f(int i) {
int j = i;
return i + j;
}
// comment
#ifdef A
#endif
What happens if you instead change the Line->Level = InitialLevel; statement from below to before this line? That seems like the more intuitively correct fix.