diff options
-rw-r--r-- | Source/cmEndForEachCommand.cxx | 15 | ||||
-rw-r--r-- | Source/cmForEachCommand.cxx | 3 |
2 files changed, 4 insertions, 14 deletions
diff --git a/Source/cmEndForEachCommand.cxx b/Source/cmEndForEachCommand.cxx index f29feb9..6324d11 100644 --- a/Source/cmEndForEachCommand.cxx +++ b/Source/cmEndForEachCommand.cxx @@ -18,18 +18,7 @@ bool cmEndForEachCommand::InvokeInitialPass(std::vector<cmListFileArgument> const& args) { - if(args.size() < 1 ) - { - this->SetError("called with incorrect number of arguments"); - return false; - } - - // remove any function blockers for this define - cmListFileFunction lff; - lff.m_Name = "ENDFOREACH"; - lff.m_Arguments = args; - m_Makefile->RemoveFunctionBlocker(lff); - - return true; + this->SetError("An ENDFOREACH command was found outside of a proper FOREACH ENDFOREACH structure. Or its arguments did not match the opening FOREACH command."); + return false; } diff --git a/Source/cmForEachCommand.cxx b/Source/cmForEachCommand.cxx index 24f17fa..f8bda28 100644 --- a/Source/cmForEachCommand.cxx +++ b/Source/cmForEachCommand.cxx @@ -63,7 +63,8 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf) mf.ExecuteCommand(newLFF); } } - return false; + mf.RemoveFunctionBlocker(lff); + return true; } } |