forked from OSchip/llvm-project
move the Diag method for Sema to be inline. This shrinks the release-asserts
clang executable (when built with gcc 4.2 on the mac) from 14519740 to 14495028 bytes. This shrinks individual object files as well: SemaChecking from 23580->22248, SemaDeclObjc from 61368->57376, SemaExpr from 115628->110516, as well as several others. llvm-svn: 59867
This commit is contained in:
parent
060068a0ef
commit
bc495d775f
|
@ -79,7 +79,8 @@ void Sema::ActOnTranslationUnitScope(SourceLocation Loc, Scope *S) {
|
|||
}
|
||||
|
||||
Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer)
|
||||
: PP(pp), Context(ctxt), Consumer(consumer), CurContext(0),PreDeclaratorDC(0),
|
||||
: PP(pp), Context(ctxt), Consumer(consumer), Diags(PP.getDiagnostics()),
|
||||
SourceMgr(PP.getSourceManager()), CurContext(0), PreDeclaratorDC(0),
|
||||
CurBlock(0), PackContext(0), IdResolver(pp.getLangOptions()) {
|
||||
|
||||
// Get IdentifierInfo objects for known functions for which we
|
||||
|
@ -157,11 +158,6 @@ void Sema::ActOnEndOfTranslationUnit() {
|
|||
// Helper functions.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
DiagnosticBuilder Sema::Diag(SourceLocation Loc, unsigned DiagID) {
|
||||
return PP.getDiagnostics().Report(FullSourceLoc(Loc, PP.getSourceManager()),
|
||||
DiagID);
|
||||
}
|
||||
|
||||
const LangOptions &Sema::getLangOptions() const {
|
||||
return PP.getLangOptions();
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "CXXFieldCollector.h"
|
||||
#include "SemaOverload.h"
|
||||
#include "clang/Parse/Action.h"
|
||||
#include "clang/Basic/Diagnostic.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/DenseSet.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
|
@ -104,6 +105,8 @@ public:
|
|||
Preprocessor &PP;
|
||||
ASTContext &Context;
|
||||
ASTConsumer &Consumer;
|
||||
Diagnostic &Diags;
|
||||
SourceManager &SourceMgr;
|
||||
|
||||
/// CurContext - This is the current declaration context of parsing.
|
||||
DeclContext *CurContext;
|
||||
|
@ -224,9 +227,13 @@ public:
|
|||
Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer);
|
||||
|
||||
const LangOptions &getLangOptions() const;
|
||||
|
||||
Diagnostic &getDiagnostics() const { return Diags; }
|
||||
SourceManager &getSourceManager() const { return SourceMgr; }
|
||||
|
||||
/// The primitive diagnostic helpers.
|
||||
DiagnosticBuilder Diag(SourceLocation Loc, unsigned DiagID);
|
||||
DiagnosticBuilder Diag(SourceLocation Loc, unsigned DiagID) {
|
||||
return Diags.Report(FullSourceLoc(Loc, SourceMgr), DiagID);
|
||||
}
|
||||
|
||||
virtual void DeleteExpr(ExprTy *E);
|
||||
virtual void DeleteStmt(StmtTy *S);
|
||||
|
|
Loading…
Reference in New Issue