summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a frontend option -chained-pch and don't pass an active PCH reader to ↵Sebastian Redl2010-07-092-1/+6
| | | | | | the PCH writer if it is not set, preventing creation of chained PCH files. Since the reader is so far unused, effectively no functionality change. llvm-svn: 107936
* Some preparatory work for chained PCH. No functionality change.Sebastian Redl2010-07-084-6/+15
| | | | llvm-svn: 107915
* Introduce PCHReader::GetTranslationUnitDecl() and use it instead of ↵Argyrios Kyrtzidis2010-07-081-1/+8
| | | | | | | | | ReadDeclRecord when initializing. ReadDeclRecord would hit assertion if the translation unit declaration was already loaded during IdentifierInfo initialization. llvm-svn: 107885
* Support TemplateTemplateParmDecl for PCH.Argyrios Kyrtzidis2010-07-082-4/+19
| | | | llvm-svn: 107884
* For TagType and TemplateSpecializationType, isDependent calculation may be ↵Argyrios Kyrtzidis2010-07-082-10/+24
| | | | | | | | | invalid because some decls that the calculation is using may still be initializing. Thus, store the isDependent flag to PCH and restore directly to Type. llvm-svn: 107873
* Read/write the C++ parts of DeclRefExpr and MemberExpr for PCH.Argyrios Kyrtzidis2010-07-082-16/+98
| | | | llvm-svn: 107872
* Fix reading of UsingDecl from PCH.Argyrios Kyrtzidis2010-07-081-1/+3
| | | | llvm-svn: 107871
* Reinstate the fix for PR7556. A silly use of isTrivial() wasDouglas Gregor2010-07-082-7/+7
| | | | | | suppressing copies of objects with trivial copy constructors. llvm-svn: 107857
* Revert r107828 and r107827, the fix for PR7556, which seems to beDouglas Gregor2010-07-072-7/+7
| | | | | | breaking bootstrap on Linux. llvm-svn: 107837
* Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect itsDouglas Gregor2010-07-072-7/+7
| | | | | | newly-narrowed scope. No functionality change. llvm-svn: 107828
* add driver support for minix, patch by Kees van ReeuwijkChris Lattner2010-07-071-0/+4
| | | | | | from PR7583 llvm-svn: 107788
* Fix broken reading of NestedNameSpecifiers from PCH.Argyrios Kyrtzidis2010-07-071-1/+1
| | | | llvm-svn: 107784
* Delay passing InterestingDecls to the Consumer until when we know we are not ↵Argyrios Kyrtzidis2010-07-072-16/+22
| | | | | | | | in recursive loading and the declarations are fully initialized. llvm-svn: 107783
* Simplify code. FunctionDecl and ObjCMethodDecl have some common interfaces.Argyrios Kyrtzidis2010-07-071-15/+4
| | | | llvm-svn: 107769
* Added a path-sensitive idempotent operation checker ↵Tom Care2010-07-061-0/+4
| | | | | | | | | | | | | | | | | | | (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect. Example: { int a = 1; int b = 5; int c = b / a; // a is 1 on all paths } - New IdempotentOperationChecker class - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker - Minor refactoring of SVal to allow checking for any integer - Added command line option for check - Added basic test cases llvm-svn: 107706
* Pacify versions of gcc that think these variables may be usedDuncan Sands2010-07-061-3/+3
| | | | | | | uninitialized (which doesn't seem to be the case), by giving them arbitrary initial values. llvm-svn: 107679
* Read/write function template specializations for PCH, properly this time.Argyrios Kyrtzidis2010-07-062-6/+12
| | | | llvm-svn: 107665
* Add to PCH missing Sema information about VTable uses and dynamic classes.Argyrios Kyrtzidis2010-07-062-0/+58
| | | | llvm-svn: 107664
* Allow a CXXRecordDecl to get a DefinitionData pointer even when its owner is ↵Argyrios Kyrtzidis2010-07-062-87/+118
| | | | | | still initializing. llvm-svn: 107663
* Read/write instantiated-from-member of EnumDecl for PCH.Argyrios Kyrtzidis2010-07-062-2/+3
| | | | llvm-svn: 107662
* Read/write the identifier namespace in PCH for decls that may modify it.Argyrios Kyrtzidis2010-07-052-6/+13
| | | | | | We can now use a PCH'ed <map>. llvm-svn: 107617
* Read/write some source location for PCH.Argyrios Kyrtzidis2010-07-052-1/+9
| | | | llvm-svn: 107616
* Fix a regression of a previous commit of mine (rdar://8158953).Argyrios Kyrtzidis2010-07-041-2/+2
| | | | | | | Some of the invariant checks for creating Record/Enum types don't hold true during PCH reading. Introduce more suitable ASTContext::getRecordType() and getEnumType(). llvm-svn: 107598
* Read/write more information of ASTContext for PCH. Overriden methods and ↵Argyrios Kyrtzidis2010-07-042-0/+28
| | | | | | instantiated-from information. llvm-svn: 107597
* Don't try to install the __[u]int128_t identifier if it is already installed ↵Argyrios Kyrtzidis2010-07-042-0/+4
| | | | | | | | | | by PCHReader. Currently, adding it to visible decls of a PCH'ed translation unit has no effect because adding visible decls before deserialization has no effect (the decls won't be visible). This will be fixed in a future commit; then it will force deserialization of visible decls, so avoid pointlessly installing it. llvm-svn: 107595
* Write/read ParmVarDecl's UninstantiatedDefaultArg for PCH.Argyrios Kyrtzidis2010-07-042-1/+8
| | | | llvm-svn: 107594
* Read/write specialization info of static data members for PCH.Argyrios Kyrtzidis2010-07-042-0/+20
| | | | llvm-svn: 107593
* When setting the anonymous namespace at PCH reading, it may still be ↵Argyrios Kyrtzidis2010-07-031-6/+2
| | | | | | | | initializing so avoid the invariant checks at NamespaceDecl::setAnonymousNamespace(). llvm-svn: 107566
* Lazily declare default constructors. We now delay the construction ofDouglas Gregor2010-07-032-0/+2
| | | | | | | | | | | | | | | | | | declarations for implicit default constructors, copy constructors, copy assignment operators, and destructors. On a "simple" translation unit that includes a bunch of C++ standard library headers, we generate relatively few of these implicit declarations now: 4/159 implicit default constructors created 18/236 implicit copy constructors created 70/241 implicit copy assignment operators created 0/173 implicit destructors created And, on this translation unit, this optimization doesn't really provide any benefit. I'll do some more performance measurements soon, but this completes the implementation work for <rdar://problem/8151045>. llvm-svn: 107551
* Lazily declare implicit copy constructors.Douglas Gregor2010-07-022-0/+2
| | | | llvm-svn: 107543
* Read/write CastExpr's CXXBaseSpecifierArray for PCH.Argyrios Kyrtzidis2010-07-026-25/+36
| | | | llvm-svn: 107542
* Fix broken PCH support for CXXDefaultArgExpr.Argyrios Kyrtzidis2010-07-022-12/+20
| | | | llvm-svn: 107541
* Lazily declare copy-assignment operators.Douglas Gregor2010-07-022-0/+2
| | | | llvm-svn: 107521
* Lazily declare the implicitly-declared destructor in a C++ class.Douglas Gregor2010-07-022-0/+2
| | | | llvm-svn: 107510
* Handle CXXConstructorDecl, CXXDestructorDecl, and CXXConversionDecl for PCH.Argyrios Kyrtzidis2010-07-022-17/+126
| | | | | | <vector> header can be used correctly through PCH now. llvm-svn: 107483
* Fix reading FunctionDecls from PCH.Argyrios Kyrtzidis2010-07-022-45/+47
| | | | llvm-svn: 107477
* Fix reading ClassTemplateDecl's ClassTemplateSpecializationDecls and ↵Argyrios Kyrtzidis2010-07-022-11/+23
| | | | | | | | ClassTemplatePartialSpecializationDecls. Store/read also their template arguments because they may be initializing and not be able to provide them. llvm-svn: 107476
* Fully read/write CXXRecordDecl for PCH.Argyrios Kyrtzidis2010-07-024-43/+109
| | | | llvm-svn: 107475
* Fix reading of DependentNameType.Argyrios Kyrtzidis2010-07-022-1/+5
| | | | llvm-svn: 107474
* Allow reading of InjectedClassNameType from PCH even when its decl is ↵Argyrios Kyrtzidis2010-07-021-1/+4
| | | | | | currently initializing. llvm-svn: 107473
* Fix broken reading of member pointer from PCH.Argyrios Kyrtzidis2010-07-021-1/+1
| | | | llvm-svn: 107472
* - Allow a typedef type to be read from PCH even if its decl is currently ↵Argyrios Kyrtzidis2010-07-022-7/+17
| | | | | | | | initializing. - Fix creation of TemplateSpecializationType. llvm-svn: 107471
* Fix broken reading of "#lines" from PCH.Argyrios Kyrtzidis2010-07-021-2/+3
| | | | llvm-svn: 107470
* Generally types expect an initialized TypeDecl; its safer and less ↵Argyrios Kyrtzidis2010-07-022-16/+16
| | | | | | complicated to delay PCH reading the type of a TypeDecl. llvm-svn: 107469
* Add some side-effect free Create methods for TypeDecl subclasses and use ↵Argyrios Kyrtzidis2010-07-021-8/+7
| | | | | | them for PCH reading. llvm-svn: 107468
* Driver/IRgen: Add support for -momit-leaf-frame-pointer.Daniel Dunbar2010-07-011-0/+3
| | | | llvm-svn: 107367
* Fix PCH support for UnresolvedUsingTypenameDecl and UnresolvedUsingValueDecl.Argyrios Kyrtzidis2010-06-302-8/+8
| | | | llvm-svn: 107268
* Support DependentSizedArrayType for PCH.Argyrios Kyrtzidis2010-06-302-2/+21
| | | | llvm-svn: 107267
* Support ParenListExpr for PCH.Argyrios Kyrtzidis2010-06-302-2/+29
| | | | llvm-svn: 107266
* Headers: Define __INT64_TYPE__ in terms of getInt64Type(), which isn't alwaysDaniel Dunbar2010-06-301-0/+6
| | | | | | | | 'long'. The practical upshot is so that the uint64_t we define in our stdint.h ends up being compatible with that defined by gcc (at least on Darwin), which otherwise could lead to type incompatibilities with other system headers. llvm-svn: 107255
OpenPOWER on IntegriCloud