//===----------------------------------------------------------------------===//
#include "Sema.h"
+#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Builtins.h"
#include "clang/AST/Decl.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/SourceManager.h"
// FIXME: layering (ideally, Sema shouldn't be dependent on Lex API's)
-#include "clang/Lex/Preprocessor.h"
+#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/HeaderSearch.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallSet.h"
Name->setFETokenInfo(New);
S->AddDecl(New);
}
-
+
return New;
}
}
// Okay, we successfully defined 'Record'.
- if (Record)
+ if (Record) {
Record->defineBody(&RecFields[0], RecFields.size());
- else {
+ Consumer.HandleTagDeclDefinition(Record);
+ } else {
ObjCIvarDecl **ClsFields = reinterpret_cast<ObjCIvarDecl**>(&RecFields[0]);
if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(EnclosingDecl))
ID->addInstanceVariablesToClass(ClsFields, RecFields.size(), RBrac);
}
Enum->defineElements(EltList, BestType);
+ Consumer.HandleTagDeclDefinition(Enum);
}
Sema::DeclTy* Sema::ActOnLinkageSpec(SourceLocation Loc,