summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
* Introduce the notion of a SemaConsumer, which is an ASTConsumer thatDouglas Gregor2009-04-201-1/+5
| | | | | | | | | also gets access to the Sema object performing semantic analysis. This will be used by the PCH writer to serialize Sema state. No functionality change. llvm-svn: 69595
* Add pch reader/writer support for ObjCMethodDecl.Steve Naroff2009-04-202-0/+58
| | | | | | Test will be enabled with ObjCInterfaceDecl is added. llvm-svn: 69594
* don't crash on invalid ranges in -fprint-source-range-infoChris Lattner2009-04-191-0/+3
| | | | | | mode, just ignore them as usual. llvm-svn: 69558
* implement compiler support for -fno-diagnostics-fixit-info,Chris Lattner2009-04-191-3/+2
| | | | | | rdar://6805442 llvm-svn: 69525
* Add location info for indirect goto.Chris Lattner2009-04-192-0/+2
| | | | llvm-svn: 69497
* Don't emit name-lookup tables for functions or methods in the PCH filesDouglas Gregor2009-04-181-0/+5
| | | | llvm-svn: 69449
* Store the type ID for __builtin_va_list in the PCH file, so that theDouglas Gregor2009-04-182-1/+16
| | | | | | | | AST context's __builtin_va_list type will be set when the PCH file is loaded. This fixes the crash when CodeGen'ing a va_arg expression pulled in from a PCH file. llvm-svn: 69421
* Lazy deserialization of function bodies for PCH files. For the CarbonDouglas Gregor2009-04-181-1/+10
| | | | | | | | | | "Hello, World!", this takes us from deserializing 6469 statements/expressions down to deserializing 1 statement/expression. It only translated into a 1% improvement on the Carbon-prefixed 403.gcc, but (a) it's the right thing to do, and (b) we expect this to matter more once we lazily deserialize identifiers. llvm-svn: 69407
* FunctionDecl::getBody() is getting an ASTContext argument for use inDouglas Gregor2009-04-181-4/+6
| | | | | | | | lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up a few PCH tests in preparation. llvm-svn: 69406
* Keep track of the number of statements/expressions written to and readDouglas Gregor2009-04-172-2/+19
| | | | | | | from a PCH file. It turns out that "Hello, World!" is bringing in 19% of all of the statements in Carbon.h, so we need to be lazy. llvm-svn: 69393
* PCH support for inline assembly statements.Douglas Gregor2009-04-172-3/+75
| | | | | | | This completes support for all of C (+ extensions). We can (again) build a PCH file for Carbon.h. llvm-svn: 69385
* refactor htmldiags to be created up front like the other diag clients.Chris Lattner2009-04-171-15/+8
| | | | llvm-svn: 69379
* PCH tests for va_arg expressions. Verified that the blocks test does create ↵Douglas Gregor2009-04-171-2/+0
| | | | | | a BlockDeclRefExpr llvm-svn: 69376
* PCH support for blocksDouglas Gregor2009-04-172-1/+22
| | | | llvm-svn: 69373
* PCH support for GNU statement expressionsDouglas Gregor2009-04-172-0/+22
| | | | llvm-svn: 69370
* PCH support for indirect gotos and address-of-label expressions.Douglas Gregor2009-04-172-0/+70
| | | | llvm-svn: 69369
* PCH support for labels and goto.Douglas Gregor2009-04-172-1/+95
| | | | llvm-svn: 69364
* PCH support for declaration statements, and a test for PredefinedExprDouglas Gregor2009-04-172-1/+35
| | | | llvm-svn: 69356
* PCH support for return statements.Douglas Gregor2009-04-172-0/+22
| | | | | | | Optimize PCH encoding for switch-case statements slightly, by making the switch-case numbering local to a particular statement. llvm-svn: 69355
* PCH support for do-while and for loopsDouglas Gregor2009-04-172-0/+48
| | | | llvm-svn: 69334
* PCH support for while and continue statementsDouglas Gregor2009-04-172-0/+40
| | | | llvm-svn: 69332
* PCH support for the first batch of statements, including null,Douglas Gregor2009-04-172-3/+227
| | | | | | compound, case, default, if, switch, and break statements. llvm-svn: 69329
* Clean up the declaration-decoding step in the PCH reader, using theDouglas Gregor2009-04-161-59/+26
| | | | | | same ueber-easy visitor scheme used for expressions/statements. llvm-svn: 69320
* Prepare PCH reader and writer for (de-)serialization of statements. NoDouglas Gregor2009-04-162-186/+192
| | | | | | functionality change. llvm-svn: 69319
* tblgen is now passing diagnostic group information in the .inc file, ignore ↵Chris Lattner2009-04-161-1/+1
| | | | | | it everywhere. llvm-svn: 69269
* implement framework for -fdiagnostics-show-option, but tblgen isn'tChris Lattner2009-04-161-0/+5
| | | | | | passing down the right info yet. llvm-svn: 69268
* Eliminate pch::TYPE_ATTR, which is never usedDouglas Gregor2009-04-162-6/+0
| | | | llvm-svn: 69256
* PCH support for CompoundLiteralExpr. This is the last C expressionDouglas Gregor2009-04-162-0/+22
| | | | | | | that does not require PCH support for statements. Only AddrLabelExpr, StmtExpr, and BlockExpr remain (for C). llvm-svn: 69255
* PCH support for InitListExpr, DesignatedInitExpr, and ImplicitValueInitExpr.Douglas Gregor2009-04-162-0/+160
| | | | llvm-svn: 69251
* PCH support for ShuffleVectorExpr and BlockDeclRefExprDouglas Gregor2009-04-162-0/+48
| | | | llvm-svn: 69244
* PCH support for TypesCompatibleExpr, ChooseExpr, and GNUNullExpr.Douglas Gregor2009-04-152-0/+67
| | | | llvm-svn: 69242
* PCH support for ExtVectorElementExpr and VAArgExpr.Douglas Gregor2009-04-152-0/+46
| | | | llvm-svn: 69240
* PCH support for CompoundAssignOperator and ConditionalOperatorDouglas Gregor2009-04-152-0/+42
| | | | llvm-svn: 69237
* PCH support for ImaginaryLiteral and ArraySubscriptExprDouglas Gregor2009-04-152-2/+41
| | | | llvm-svn: 69233
* PCH support for ExtQualTypeDouglas Gregor2009-04-151-4/+14
| | | | llvm-svn: 69230
* PCH support for declaration attributesDouglas Gregor2009-04-152-6/+285
| | | | llvm-svn: 69225
* PCH support for the string literal of a FileScopeAsmDecl.Douglas Gregor2009-04-152-5/+8
| | | | | | Some minor cleanup. llvm-svn: 69196
* For source location entries that describe instantiations, encode theDouglas Gregor2009-04-152-3/+9
| | | | | | | token length in the PCH file rather than trying (and failing) to reconstruct it be getting the spelling token's length. llvm-svn: 69191
* PCH support for MemberExpr and CallExpr.Douglas Gregor2009-04-152-0/+51
| | | | llvm-svn: 69186
* PCH support for string literalsDouglas Gregor2009-04-152-0/+48
| | | | llvm-svn: 69172
* PCH support for UnaryOperator, SizeOfAlignOfExprDouglas Gregor2009-04-152-0/+56
| | | | llvm-svn: 69169
* Don't tip-to around BitstreamReader::JumpToBit jumping to the end of the ↵Douglas Gregor2009-04-151-5/+2
| | | | | | stream. LLVM has been updated to allow this llvm-svn: 69146
* PCH support for CStyleCastExpr and BinaryOperator expression kinds.Douglas Gregor2009-04-152-0/+57
| | | | llvm-svn: 69119
* PCH support for ParenExprDouglas Gregor2009-04-142-0/+22
| | | | llvm-svn: 69106
* Add PCH support for ImplicitCastExprs. This is the first expressionDouglas Gregor2009-04-142-49/+169
| | | | | | | | | | kind PCH handles that has an expression as an operand, so most of this work is in the infrastructure to rebuild expression trees from the serialized representation. We now store expressions in post-order (e.g., Reverse Polish Notation), so that we can easily rebuild the appropriate expression tree. llvm-svn: 69101
* Change Lexer::MeasureTokenLength to take a LangOptions reference.Chris Lattner2009-04-145-50/+68
| | | | | | | | | | | | | | | | | | This allows it to accurately measure tokens, so that we get: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~~^ instead of the woefully inferior: t.cpp:8:13: error: unknown type name 'X' static foo::X P; ~~~~ ^ Most of this is just plumbing to push the reference around. llvm-svn: 69099
* Add PCH support for PredefinedExpr and FloatingLiteral expressionsDouglas Gregor2009-04-142-4/+53
| | | | llvm-svn: 69084
* PCH support for a few very, very simple kinds of expressions. Hook upDouglas Gregor2009-04-142-17/+229
| | | | | | | expression (de-)serialization for VLAs, variable initializers, enum constant initializers, and bitfield widths. llvm-svn: 69075
* When writing a PCH file, keep track of all of the non-static,Douglas Gregor2009-04-142-2/+46
| | | | | | | | | non-inline external definitions (and tentative definitions) that are found at the top level. The corresponding declarations are stored in a record in the PCH file, so that they can be provided to the ASTConsumer (via HandleTopLevelDecl) when the PCH file is read. llvm-svn: 69005
* Partial PCH support for FileScopeAsmDecl and BlockDecl. Both requireDouglas Gregor2009-04-132-1/+52
| | | | | | expression or statement serialization before we can test them. llvm-svn: 69002
OpenPOWER on IntegriCloud