mirror of
https://github.com/reactos/CMake.git
synced 2024-11-29 06:20:23 +00:00
5d85fb4f40
The fix in commit v3.2.3~3^2 (Fix assertion failure on unmatched foreach in function, 2015-05-18) broke handling of unmatched non-loop blocks because it assumed all function blockers removed during error unwinding were for loops, essentially switching the set of mishandled cases. The purpose of the loop block push/pop operations is to define a scope matching the lifetime of the loop function blockers. Since our function blockers already have the proper lifetime, simply move the push/pop operations to their constructor/destructor. Extend the RunCMake.Syntax test with a case covering this.
7 lines
176 B
Plaintext
7 lines
176 B
Plaintext
^CMake Error at CMakeLists.txt:[0-9]+ \(include\):
|
|
A logical block opening on the line
|
|
|
|
.*/Tests/RunCMake/Syntax/MacroUnmatched.cmake:[0-9]+ \(macro\)
|
|
|
|
is not closed.$
|