diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-10-27 10:02:15 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-10-27 10:02:15 +0900 |
| commit | d236eb03fbedb65db7b192c5771a6375aeba95ae (patch) | |
| tree | 148f104990a0d9851244c62d8b17a7199cd65353 /eval.cc | |
| parent | 4421dda489d793ea1a59b1acf460b540b3b4174b (diff) | |
[C++] Let ifdef allow trailing spaces in a variable name
https://github.com/google/kati/issues/33
Diffstat (limited to 'eval.cc')
| -rw-r--r-- | eval.cc | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -189,9 +189,9 @@ void Evaluator::EvalIf(const IfStmt* stmt) { case CondOp::IFNDEF: { string var_name; stmt->lhs->Eval(this, &var_name); - if (var_name.find_first_of(" \t") != string::npos) + Symbol lhs = Intern(TrimRightSpace(var_name)); + if (lhs.str().find_first_of(" \t") != string::npos) Error("*** invalid syntax in conditional."); - Symbol lhs = Intern(var_name); Var* v = LookupVarInCurrentScope(lhs); const string&& s = v->Eval(this); is_true = (s.empty() == (stmt->op == CondOp::IFNDEF)); |
