summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/ParseAST.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Comment fix, ParseAST does not take ownership of the consumer.Daniel Dunbar2008-10-271-2/+1
| | | | llvm-svn: 58281
* Add --disable-free flag to clang.Daniel Dunbar2008-10-161-11/+20
| | | | | | | | - Disables the freeing of the ASTContext and the TranslationUnit after parsing & sema. - Primarily for timing the impact on -fsyntax-only timings. llvm-svn: 57643
* Re-enable deletion of AST nodes upon completion of ParseAST.Ted Kremenek2008-08-201-3/+0
| | | | llvm-svn: 55038
* More #include cleaningDaniel Dunbar2008-08-111-3/+0
| | | | | | | | | | | - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
* More #include cleaningDaniel Dunbar2008-08-111-0/+2
| | | | | | | | - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation llvm-svn: 54627
* ParseAST now never releases the passed ASTConsumer. This is the ↵Ted Kremenek2008-08-081-4/+1
| | | | | | | | | | | responsibility of the client. The motivation is that clients may either: (a) query the ASTConsumer object after AST parsing to collect data/etc. (b) reuse the ASTConsumer. llvm-svn: 54502
* ParseAST now conditionally deletes the passed ASTConsumer.Ted Kremenek2008-08-071-2/+3
| | | | | | | | | | ModuleBuilder now performs llvmgen in HandleTranslationUnit. This patch follows from the discussion on the following thread on cfe-commits: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080804/006849.html llvm-svn: 54486
* Added method "HandleTranslationUnit" to ASTConsumer. This is called by ↵Ted Kremenek2008-07-021-0/+2
| | | | | | ParseAST when all of the ASTs in a translation unit have been built. llvm-svn: 53042
* Introduce preliminary support for NSString format-string checking.Ted Kremenek2008-06-161-0/+2
| | | | | | Patch by Nikita Zhuk! llvm-svn: 52336
* Moved LangOptions from TranslationUnit to ASTContext. This induced a ↵Ted Kremenek2008-06-041-2/+3
| | | | | | variety of cleanups in some ASTConsumers. llvm-svn: 51943
* Added "InitializeTU" to ASTConsumer. This is used by Sema::ParseAST to pass aTed Kremenek2008-05-311-1/+1
| | | | | | | | | | | TranslationUnit object instead of an ASTContext. By default it calls Initialize(ASTConstext& Context) (to match with the current interface used by most ASTConsumers). Modified the ObjC-Rewriter to use InitializeTU, and to tell the TranslationUnit to not free its Decls. This is a workaround for: <rdar://problem/5966749> llvm-svn: 51825
* Stop leaking the main Sema object. (Leak found using valgrind.)Eli Friedman2008-05-271-2/+3
| | | | llvm-svn: 51580
* Try to plug some memory leaks...Ted Kremenek2008-05-201-2/+9
| | | | | | | | | | | | | | | | 1) Sema::ParseAST now constructs a TranslationUnit object to own the top-level Decls, which releases the top-level Decls upon exiting ParseAST. 2) Bug fix: TranslationUnit::~TranslationUnit handles the case where a Decl is added more than once as a top-level Decl. 3) Decl::Destroy is now a virtual method, obviating the need for a special dispatch based on DeclKind. 3) FunctionDecl::Destroy now releases its Body using its Destroy method. 4) Added Stmt::Destroy and Stmt::DestroyChildren, which recursively delete the child ASTs of a Stmt and call their dstors. We may need to special case dstor/Destroy methods for particular Stmt subclasses that own other dynamically allocated objects besides AST nodes. 5) REGRESSION: We temporarily are not deallocating attributes; a FIXME is provided. llvm-svn: 51286
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+69
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud