summaryrefslogtreecommitdiffstats
path: root/clang/AST/StmtSerialization.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-1001/+0
| | | | | | | | | | 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
* improve DeclStmt to be able to store SourceRange info correctly.Chris Lattner2008-03-131-1/+5
| | | | | | | Set the start of DeclStmt range. Right now the end is meaningless though. llvm-svn: 48330
* Minor code cleanup.Eli Friedman2008-02-231-5/+2
| | | | llvm-svn: 47530
* Patch from Argiris Kirtzidis:Ted Kremenek2008-02-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | The patch fixes some debug assertions that the msvcrt throws: 1) - if (isprint(value) && value < 256) { + if (value < 256 && isprint(value)) { isprint() does an assertion check of its own for value < 256; check value before calling it to prevent it. 2) - Stmt->Names.push_back(std::string(&data[0], data.size())); + if (data.size() == 0) + Stmt->Names.push_back(std::string()); + else + Stmt->Names.push_back(std::string(&data[0], data.size())); If data.size() == 0 then data[0] throws "out of range" assertion. llvm-svn: 47512
* Minor reordering of the serialization of the fields of MemberExpr to resultTed Kremenek2008-02-061-2/+2
| | | | | | in a smaller encoding on disk. llvm-svn: 46832
* Make sure to propagate qualifiers through the member operator.Eli Friedman2008-02-061-1/+3
| | | | llvm-svn: 46830
* Handle simple asm statements correctly.Anders Carlsson2008-02-051-1/+3
| | | | llvm-svn: 46777
* For ObjCAtCatchStmt, removed field 'NextAtCatchStmt' (which referenced the ↵Ted Kremenek2008-02-011-4/+1
| | | | | | | | | | | | | | next @catch) and put the the next ObjcAtCatchStmt* as part of SubExprs. This fixes a bug with iterating over the children of ObjcAtCatch, where the next @catch was not properly being iterated over as a child. Altered serialization of ObjCAtCatchStmt to reflect this new layout of its subexpressions, and fixed an ownership issue with the next @catch not being serialized as an owned pointer. llvm-svn: 46647
* Rewriting of @synchronized. This has one FIXME in it. But this should allow ↵Fariborz Jahanian2008-01-291-6/+4
| | | | | | @sychronized to be rewritten. llvm-svn: 46533
* - Hooked up deserialization of ObjCAtSynchronizedStmt Stmt::Create().Ted Kremenek2008-01-291-14/+17
| | | | | | | | | - Some minor optimizations of the encoding format for ObjCAtSynchronizedStmt. - Reordered methods so that the deserialization methods for ObjCAtSynchronizedStmt appear in alphabetical order with the corresponding methods of the other AST nodes. llvm-svn: 46529
* AST for @synchronized.Fariborz Jahanian2008-01-291-0/+14
| | | | llvm-svn: 46524
* When serializing CompoundLiteralExpr, serialize out the file scope flag beforeTed Kremenek2008-01-141-2/+2
| | | | | | | serializing the subexpression (Init), as this results in a more efficient encoding in the bitstream. llvm-svn: 45967
* Record if a compound literal expression is @ file scope. This allows us to ↵Steve Naroff2008-01-141-1/+3
| | | | | | | | implement C99 6.5.2.5p6. This could have been done without modifying the AST (by checking the decl type and passing the info down to isContextExpr), however we concluded this is more desirable. Bug/patch by Eli Friedman! llvm-svn: 45966
* Allow messaging expression as foreach's collection expression.Fariborz Jahanian2008-01-101-1/+3
| | | | llvm-svn: 45793
* Substituted all instances of the string "Objc" for "ObjC". This fixesTed Kremenek2008-01-071-25/+25
| | | | | | | some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. llvm-svn: 45715
* Minor tweak to serialization of ObjcForCollectionStmt: the three owned pointersTed Kremenek2008-01-071-6/+5
| | | | | | | are now emitted in a batch, which reduces the metadata overhead in the serialized bitcode. llvm-svn: 45710
* Moved serialization code for ObjcForCollectionStmt to be in alphabetical orderTed Kremenek2008-01-051-18/+18
| | | | | | with the rest of the Objective-C serialization code. llvm-svn: 45609
* Minor changes as suggested by Chris L.Fariborz Jahanian2008-01-041-3/+3
| | | | llvm-svn: 45598
* New declarations/defs for Objc2's foreach-statement. This is work in progress.Fariborz Jahanian2008-01-021-0/+18
| | | | llvm-svn: 45511
* Compute the proper sourcerange for an CompoundLiteralExpr.Chris Lattner2008-01-021-1/+3
| | | | llvm-svn: 45504
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | discussion of this change. llvm-svn: 45410
* Implemented serialization of: ObjCEncodeExpr, ObjCSelectorExpr.Ted Kremenek2007-12-051-0/+37
| | | | llvm-svn: 44593
* Implemented serialization of ObjCStringLiteral.Ted Kremenek2007-12-041-1/+17
| | | | llvm-svn: 44568
* Implemented serialization for ObjcAtThrowStmt.Ted Kremenek2007-12-041-0/+14
| | | | llvm-svn: 44567
* Implemented serialization of ObjcAtTryStmt.Ted Kremenek2007-12-041-1/+16
| | | | llvm-svn: 44566
* Implemented serialization for ObjcAtFinallyStmt.Ted Kremenek2007-12-041-0/+14
| | | | llvm-svn: 44564
* Implemented serialization for ObjcAtCatchStmt.Ted Kremenek2007-12-041-0/+22
| | | | llvm-svn: 44563
* Added "isExact" field to FloatingLiteral. This flag indicates whether or notTed Kremenek2007-11-291-1/+3
| | | | | | | | the APFloat representing the parsed literal can represent the literal value exactly. This is useful when performing various semantic checks on the code, and issuing appropriate warnings to users. llvm-svn: 44423
* Keep track of whether the asm is volatile or not.Anders Carlsson2007-11-231-1/+3
| | | | llvm-svn: 44297
* Store output and input operands as well as clobber information in the ↵Anders Carlsson2007-11-221-1/+50
| | | | | | AsmStmt. Ted, could you please review the serialization/deserialization code? llvm-svn: 44266
* Store inline asm code in the AST.Anders Carlsson2007-11-201-1/+3
| | | | llvm-svn: 44255
* Added assertion in serialization of DeclRefExprs. DeclRefExprs can onlyTed Kremenek2007-11-161-7/+12
| | | | | | | own the decl they reference if it is a FunctionDecl. Note that his ownership property is still considered a hack, and should be fixed. llvm-svn: 44192
* Added hack when serializing DeclRefExprs. This should probably be fixed.Ted Kremenek2007-11-151-5/+30
| | | | | | | | | | | | | | | | Some FunctionDecls do not appear at the top-level or are owned by a DeclStmt. In calls to implicitly defined functions, a FunctionDecl is created, but only the DeclRefExprs reference them. Since an implicitly defined function may be called multiple times, there is no clear ownership model for such objects. Temporary solution: when serializing out DeclRefExprs, emit an ownership bit for the Decl. This bit is determined by querying the serializer to see if the Decl has already been serialized. If it hasn't, emit the Decl as an owned pointer. I repeat: this is a hack. This should be fixed. llvm-svn: 44176
* Started separate section for method definitions for ObjC serialization.Ted Kremenek2007-11-151-13/+29
| | | | | | Added missing deserialization case in Stmt::Create() switch statement. llvm-svn: 44175
* Implemented serialization of InitListExpr.Ted Kremenek2007-11-141-1/+22
| | | | llvm-svn: 44137
* Implemented serialization of CompoundLiteralExpr.Ted Kremenek2007-11-141-0/+14
| | | | llvm-svn: 44134
* Implemented serialization of AsmStmt (or rather what is currently implementedTed Kremenek2007-11-131-0/+15
| | | | | | in AsmStmt). llvm-svn: 44077
* Implemented serialization for SizeOfAlignOfTypeExpr.Ted Kremenek2007-11-131-0/+21
| | | | llvm-svn: 44075
* Implemented serialization for MemberExpr.Ted Kremenek2007-11-131-0/+19
| | | | llvm-svn: 44074
* Renamed all serialization "Materialize" methods to "Create" to conform withTed Kremenek2007-11-131-1/+1
| | | | | | the new serialization API. llvm-svn: 44035
* In Stmt serialization, renamed directEmit to EmitImpl andTed Kremenek2007-11-121-105/+105
| | | | | | directMaterialize to CreateImpl. llvm-svn: 44020
* Implement instance variable references.Steve Naroff2007-11-121-0/+14
| | | | llvm-svn: 44016
* Implemented serialization of AddrLabelExpr.Ted Kremenek2007-11-081-5/+56
| | | | | | | | Implemented serialization of ConditionalOperator. Implemented serialization of StmtExpr. Fixed bug in serialization of IndirectGoto (did not properly serialize subexpression). llvm-svn: 43891
* Revised serialization of CaseStmt to emit all of the owned pointers (itsTed Kremenek2007-11-081-7/+4
| | | | | | subexpressions) all together in one block at the end. llvm-svn: 43862
* Implemented serialization of CompoundAssignOperator.Ted Kremenek2007-11-081-0/+23
| | | | llvm-svn: 43860
* Implemented serialization of UnaryOperator.Ted Kremenek2007-11-081-0/+18
| | | | llvm-svn: 43858
* Implemented serialization of CallExpr.Ted Kremenek2007-11-071-1/+21
| | | | llvm-svn: 43854
* Implemented serialization of ArraySubscriptExpr.Ted Kremenek2007-11-071-56/+75
| | | | | | | Added "using ..." for "Serializer" and "Deserializer" to reduce amount of typing for serialization methods. llvm-svn: 43849
* Implemented serialization of CastExpr.Ted Kremenek2007-11-071-0/+17
| | | | llvm-svn: 43848
* Implemented serialization of ImplicitCastExpr.Ted Kremenek2007-11-071-0/+15
| | | | llvm-svn: 43847
OpenPOWER on IntegriCloud