summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement -fshort-enums (rdar://8490496).Argyrios Kyrtzidis2010-10-081-0/+1
| | | | llvm-svn: 116020
* Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>.Douglas Gregor2010-10-052-0/+2
| | | | llvm-svn: 115667
* Fix a marvelous chained AST writing bug, where we end up with theDouglas Gregor2010-10-052-6/+13
| | | | | | | | | | | | | | | | | | | | | | | following amusing sequence: - AST writing schedules writing a type X* that it had never seen before - AST writing starts writing another declaration, ends up deserializing X* from a prior AST file. Now we have two type IDs for the same type! - AST writer tries to write X*. It only has the lower-numbered ID from the the prior AST file, so references to the higher-numbered ID that was scheduled for writing go off into lalaland. To fix this, keep the higher-numbered ID so we end up writing the type twice. Since this issue occurs so rarely, and type records are generally rather small, I deemed this better than the alternative: to keep a separate mapping from the higher-numbered IDs to the lower-numbered IDs, which we would end up having to check whenever we want to deserialize any type. Fixes <rdar://problem/8511624>, I think. llvm-svn: 115647
* Give every file that ASTReader loads a type: module, PCH, precompiled ↵Sebastian Redl2010-10-052-9/+11
| | | | | | preamble or main file. Base Decls' PCHLevel on this to make it more sane. llvm-svn: 115626
* Thread PerFileData through the ASTReader again, this time with the LLVM changes.Sebastian Redl2010-10-053-474/+508
| | | | llvm-svn: 115625
* When a type comes from a previously-loaded PCH/AST file, don't try to write ↵Douglas Gregor2010-10-041-0/+5
| | | | | | it into a chained PCH file. llvm-svn: 115527
* Implement chained PCH support for the macro definitions stored withinDouglas Gregor2010-10-022-17/+42
| | | | | | the "detailed" preprocessing record. llvm-svn: 115417
* Revert r115336 ("Thread PerFileData through everything."), becauseDouglas Gregor2010-10-013-508/+475
| | | | | | we're missing the corresponding changes in the LLVM repository. llvm-svn: 115340
* Thread PerFileData through everything. This allows us to remap stuff later.Sebastian Redl2010-10-013-475/+508
| | | | llvm-svn: 115336
* Record module loaders and module source order.Sebastian Redl2010-10-011-1/+7
| | | | llvm-svn: 115334
* Implement the C++0x "trailing return type" feature, e.g.,Douglas Gregor2010-10-012-0/+2
| | | | | | | | | | auto f(int) -> int from Daniel Wallin! (With a few minor bug fixes from me). llvm-svn: 115322
* If we get a TU_CONTEXT update from a chained PCH file before weDouglas Gregor2010-10-011-2/+14
| | | | | | | actually have an ASTContext, delay the processing of that update. Patch by Sebastian Redl! Fixes <rdar://problem/8499034>. llvm-svn: 115263
* When an identifier that has a macro definition in the original PCHDouglas Gregor2010-10-011-1/+7
| | | | | | | file is somehow changed in a chained PCH file, make sure that we write out the macro definition. Fixes part of <rdar://problem/8499034>. llvm-svn: 115259
* Support implicit includes when generating a PCH and allow the user to pass a ↵Argyrios Kyrtzidis2010-09-301-1/+35
| | | | | | | | -include on the command line following the PCH include. Fixes rdar://7382084. llvm-svn: 115159
* Don't warn for an unused label if it has 'unused' attribute. Fixes ↵Argyrios Kyrtzidis2010-09-282-0/+2
| | | | | | rdar://8483139. llvm-svn: 114954
* Fix a bug in loading macro records. Fixes yet another crash in libclang.Sebastian Redl2010-09-281-4/+5
| | | | llvm-svn: 114940
* Fix a use of an invalidated reference due to a hash map reallocating.Sebastian Redl2010-09-281-3/+8
| | | | llvm-svn: 114937
* My previous fix was incorrect for non-chained PCH reuse. Fix again.Sebastian Redl2010-09-271-1/+1
| | | | llvm-svn: 114922
* Kill FunctionDecl's IsCopyAssignment bit; it duplicated what couldDouglas Gregor2010-09-272-2/+0
| | | | | | | | already be determined by isCopyAssignmentOperator(), and was set too late in the process for all clients to see the appropriate value. Cleanup only; no functionality change. llvm-svn: 114916
* When chaining PCHs, only write PPRecords that don't come from PCH, and give ↵Sebastian Redl2010-09-272-4/+6
| | | | | | them the correct IDs. Fixes a crash in XCode. llvm-svn: 114913
* When setting the globally-visible declarations for a particularDouglas Gregor2010-09-241-5/+5
| | | | | | | | | | | | | identifier, we may have a Sema object but no translation unit scope (because parsing is finished). In this case, we still need to update the IdResolver, which might still be used when writing a PCH containing another PCH (without chaining). This bug manifested as a failure with precompiled preambles. Also, add a little environment-variable-sensitive logging for libclang. llvm-svn: 114774
* Change source manager serialization to be less tied to the PCH model.Sebastian Redl2010-09-222-14/+15
| | | | llvm-svn: 114575
* Only preload SLocEntries after the entire PCH chain was loaded.Sebastian Redl2010-09-221-15/+22
| | | | llvm-svn: 114518
* Reshuffle PerFileData's members to make more sense.Sebastian Redl2010-09-221-6/+7
| | | | llvm-svn: 114517
* Implement -Wunused-label.Argyrios Kyrtzidis2010-09-192-0/+2
| | | | llvm-svn: 114315
* Macro definitions in AST files have their own IDs.Sebastian Redl2010-09-152-5/+5
| | | | llvm-svn: 114014
* Revert "CMake: Update to use standard CMake dependency tracking facilities ↵Michael J. Spencer2010-09-131-6/+3
| | | | | | | | | | | | | instead" This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
* Eagerly evaluate type traits in Sema instead of lazily in AST. They actually ↵Sebastian Redl2010-09-132-0/+2
| | | | | | need Sema access to be correct, fixes coming up. llvm-svn: 113782
* When applying 'delete' on a pointer-to-array type match GCC and EDG behavior ↵Argyrios Kyrtzidis2010-09-132-0/+2
| | | | | | | | and treat it as 'delete[]'. Also offer a fix-it hint adding '[]'. llvm-svn: 113778
* Remove the trivial setters from CXXDeleteExpr.Argyrios Kyrtzidis2010-09-131-6/+5
| | | | llvm-svn: 113777
* Fix C++ PCH issue.Argyrios Kyrtzidis2010-09-132-3/+13
| | | | | | | | The canonical FunctionTemplateDecl contains the specializations but we cannot use getCanonicalDecl on Template because it may still be initializing. Write and read it from PCH. Fixes http://llvm.org/PR8134 llvm-svn: 113744
* Avoid setters in ASTDeclReader::VisitClassTemplatePartialSpecializationDecl.Argyrios Kyrtzidis2010-09-131-11/+13
| | | | llvm-svn: 113743
* Avoid setters in ASTDeclReader::VisitClassTemplateSpecializationDecl.Argyrios Kyrtzidis2010-09-131-12/+21
| | | | llvm-svn: 113742
* Avoid setters in ASTDeclReader::VisitCXXRecordDecl.Argyrios Kyrtzidis2010-09-131-4/+5
| | | | llvm-svn: 113741
* Address Doug's comments.Sebastian Redl2010-09-101-3/+3
| | | | llvm-svn: 113650
* CMake: Update to use standard CMake dependency tracking facilities insteadMichael J. Spencer2010-09-101-3/+6
| | | | | | of whatever we were using before... llvm-svn: 113631
* Serialization support for CXXNoexceptExpr.Sebastian Redl2010-09-102-0/+21
| | | | llvm-svn: 113627
* Add proper type-source information to UnaryTypeTraitExpr, includingDouglas Gregor2010-09-092-2/+2
| | | | | | libclang visitation. llvm-svn: 113492
* Clean up CMake dependenciesDouglas Gregor2010-09-091-0/+2
| | | | llvm-svn: 113489
* Fix C++ PCH issue.Argyrios Kyrtzidis2010-09-092-16/+22
| | | | | | | | | Another beating by boost in this test case: http://llvm.org/PR8117 A function specialization wasn't properly initialized if it wasn't canonical. I wish there was a nice little test case but this was boost. llvm-svn: 113481
* When building SwitchStmts in Sema, record whether all the enum values of a ↵Ted Kremenek2010-09-092-0/+4
| | | | | | | | | | switch(enum) where covered by individual case statements. Flow-based analyses may wish to consult this information, and recording this in the AST allows us to obviate reconstructing this information later when we build the CFG. llvm-svn: 113447
* Re-enable CheckAccessDeclContext and make sure it doesn't trigger assertions.Argyrios Kyrtzidis2010-09-081-2/+1
| | | | llvm-svn: 113413
* Fix C++ PCH issues.Argyrios Kyrtzidis2010-09-082-18/+40
| | | | | | | | | | | PCH got a severe beating by the boost-using test case reported here: http://llvm.org/PR8099 Fix issues like: -When PCH reading, make sure Decl's getASTContext() doesn't get called since a Decl in the parent hierarchy may be initializing. -In ASTDeclReader::VisitFunctionDecl VisitRedeclarable should be called before using FunctionDecl's isCanonicalDecl() -In ASTDeclReader::VisitRedeclarableTemplateDecl CommonOrPrev must be initialized before anything else. llvm-svn: 113391
* Microsoft's __uuidof operator implementation part 1.Francois Pichet2010-09-082-0/+32
| | | | llvm-svn: 113356
* Provide proper type-source location information forDouglas Gregor2010-09-082-9/+7
| | | | | | | | CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the process. llvm-svn: 113319
* Improve source-location information for CXXNewExpr, by hanging on toDouglas Gregor2010-09-072-0/+2
| | | | | | the TypeSourceInfo for the allocated type. Fixes PR7501. llvm-svn: 113291
* Replace loops with SmallVector::append.Benjamin Kramer2010-09-062-6/+3
| | | | llvm-svn: 113185
* Fix a C++ PCH problem which was exposed by r113019. ↵Argyrios Kyrtzidis2010-09-061-0/+2
| | | | | | CXXBaseOrMemberInitializer's IsWritten and source order is not set. llvm-svn: 113161
* Eliminate CXXBindReferenceExpr, which was used in a ton ofDouglas Gregor2010-09-022-21/+1
| | | | | | well-intentioned but completely unused code. llvm-svn: 112868
* Avoid implicit string construction.Benjamin Kramer2010-09-021-1/+1
| | | | llvm-svn: 112820
OpenPOWER on IntegriCloud