diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 41c532ec274..99361d207e8 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -1684,9 +1684,11 @@ void ASTReader::removeOverriddenMacros(IdentifierInfo *II, } // If this macro is already in our list of conflicts, remove it from there. - for (unsigned AI = 0, AN = Ambig.size(); AI != AN; ++AI) - if (Ambig[AI]->getInfo()->getOwningModuleID() == OwnerID) - Ambig.erase(Ambig.begin() + AI); + Ambig.erase( + std::remove_if(Ambig.begin(), Ambig.end(), [&](DefMacroDirective *MD) { + return MD->getInfo()->getOwningModuleID() == OwnerID; + }), + Ambig.end()); } } |

