File tree Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Original file line number Diff line number Diff line change @@ -386,15 +386,12 @@ Expected<std::unique_ptr<NumericVariableUse>> Pattern::parseNumericVariableUse(
386
386
// that happens, we create a dummy variable so that parsing can continue. All
387
387
// uses of undefined variables, whether string or numeric, are then diagnosed
388
388
// in printNoMatch() after failing to match.
389
- auto VarTableIter = Context->GlobalNumericVariableTable .find (Name);
390
- NumericVariable *NumericVariable;
391
- if (VarTableIter != Context->GlobalNumericVariableTable .end ())
392
- NumericVariable = VarTableIter->second ;
393
- else {
394
- NumericVariable = Context->makeNumericVariable (
389
+ auto [VarTableIter, Inserted] =
390
+ Context->GlobalNumericVariableTable .try_emplace (Name);
391
+ if (Inserted)
392
+ VarTableIter->second = Context->makeNumericVariable (
395
393
Name, ExpressionFormat (ExpressionFormat::Kind::Unsigned));
396
- Context->GlobalNumericVariableTable [Name] = NumericVariable;
397
- }
394
+ NumericVariable *NumericVariable = VarTableIter->second ;
398
395
399
396
std::optional<size_t > DefLineNumber = NumericVariable->getDefLineNumber ();
400
397
if (DefLineNumber && LineNumber && *DefLineNumber == *LineNumber)
You can’t perform that action at this time.
0 commit comments