diff options
author | Ken Martin <ken.martin@kitware.com> | 2004-05-12 18:32:25 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2004-05-12 18:32:25 (GMT) |
commit | 79fcc81b6a031cab21e8bd0e3487cdb542aed7ff (patch) | |
tree | dd9a7ef5319c752d93644c89942cf345e2eed162 | |
parent | 0b2bdfa2898f4dd5beb0be5a7cf2964936ecda65 (diff) | |
download | CMake-79fcc81b6a031cab21e8bd0e3487cdb542aed7ff.zip CMake-79fcc81b6a031cab21e8bd0e3487cdb542aed7ff.tar.gz CMake-79fcc81b6a031cab21e8bd0e3487cdb542aed7ff.tar.bz2 |
better error checking for FOREACH
-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; } } |