// IdentifierResolver Implementation
//===----------------------------------------------------------------------===//
-IdentifierResolver::IdentifierResolver() : IdDeclInfos(new IdDeclInfoMap) {}
+IdentifierResolver::IdentifierResolver(const LangOptions &langOpt)
+ : LangOpt(langOpt), IdDeclInfos(new IdDeclInfoMap) {
+}
IdentifierResolver::~IdentifierResolver() {
delete IdDeclInfos;
}
/// The decl must already be part of the decl chain.
void RemoveDecl(NamedDecl *D);
- IdentifierResolver();
+ explicit IdentifierResolver(const LangOptions &LangOpt);
~IdentifierResolver();
private:
+ const LangOptions &LangOpt;
+
class IdDeclInfoMap;
IdDeclInfoMap *IdDeclInfos;
}
Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer)
- : PP(pp), Context(ctxt), Consumer(consumer), CurContext(0), CurBlock(0) {
+ : PP(pp), Context(ctxt), Consumer(consumer), CurContext(0), CurBlock(0),
+ IdResolver(pp.getLangOptions()) {
// Get IdentifierInfo objects for known functions for which we
// do extra checking.