[PATCH] [AST] Don't include RecursiveASTVisitor.h in ASTContext.h

Reid Kleckner rnk at google.com
Fri Jun 14 12:42:58 PDT 2013


The implementation of getParents() doesn't need to be in a header file.

RecursiveASTVisitor.h is full of repeated macro expansion.  Moving this
include to ASTContext.cpp speeds up compilation of
LambdaMangleContext.cpp, a small C++ file with few includes, from 3.7s
to 2.8s for me locally.  I haven't measured a full build, but it can't
hurt.

I had to fix a few static analyzer files that were depending on
transitive includes of C++ AST headers.

http://llvm-reviews.chandlerc.com/D982

Files:
  include/clang/AST/ASTContext.h
  lib/AST/ASTContext.cpp
  lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
  lib/StaticAnalyzer/Core/BugReporter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D982.1.patch
Type: text/x-patch
Size: 9622 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130614/689e6d6c/attachment.bin>


More information about the cfe-commits mailing list