| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
the LHS subexpression can be NULL. Patch provided by Nuno Lopes!
llvm-svn: 44328
|
|
|
|
|
|
|
|
|
|
|
|
| |
extension "?:" for the ternary operator, e.g.: x ?: y; This expression is
represented in the clang ASTs as a ConditionalOperator whose LHS expression is
NULL. Now we handle this special case, causing the block containing the
condition to be a predecessor to the block that "merges" the values of the
ternary operator.
Thanks to Nuno Lopes for identifying and diagnosing this bug!
llvm-svn: 44327
|
|
|
|
| |
llvm-svn: 44316
|
|
|
|
| |
llvm-svn: 44297
|
|
|
|
|
|
| |
AsmStmt. Ted, could you please review the serialization/deserialization code?
llvm-svn: 44266
|
|
|
|
| |
llvm-svn: 44255
|
|
|
|
| |
llvm-svn: 44222
|
|
|
|
|
|
|
|
|
|
| |
the StmtIterator referring to the initializers of a chain of Decls was equal
to the "end" iterator. The particular bug manifested when an iterator was
created on a chain of decls with no initializers.
Thanks to Nuno Lopes for reporting this bug and providing a patch.
llvm-svn: 44220
|
|
|
|
|
|
|
|
| |
works like -ast-print.
Also added a cast to be safe...
llvm-svn: 44209
|
|
|
|
|
|
|
|
| |
type.
Adding basic printing to StmtPrinter::PrintRawDecl().
llvm-svn: 44208
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
query for the number of parameters for FunctionDecls that had type
FunctionTypeNoProto.
llvm-svn: 44191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Added missing deserialization case in Stmt::Create() switch statement.
llvm-svn: 44175
|
|
|
|
| |
llvm-svn: 44172
|
|
|
|
|
|
|
| |
"default constructed" an APSInt. Fixed another bug in the same method
where we did not allow the NextDeclarator to be NULL.
llvm-svn: 44147
|
|
|
|
|
|
| |
qualifiers as part of the pointer address.
llvm-svn: 44146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
backpatching. This original was available, but then we removed it. It is back
again to help with deserialization of FieldDecls. Because FieldDecls are
currently owned by RecordDecls, which are owned by a TagType, the type of the
FieldDecl may not be deserialized prior to deserializing the FieldDecl. Thus
backpatching solves the problem of constructing a FieldDecl that references a
type that has not yet been deserialized.
Simplified serialization of TagType to not require passing in the
SerializedPtrID. Registration of the materialized type object is done after
the CreateImpl method returns (as with other types).
llvm-svn: 44143
|
|
|
|
| |
llvm-svn: 44137
|
|
|
|
| |
llvm-svn: 44134
|
|
|
|
| |
llvm-svn: 44133
|
|
|
|
| |
llvm-svn: 44131
|
|
|
|
|
|
|
| |
Reordered serialization methods for FunctionTypeProto and FunctionTypeNoProto
to be alphabetical by serialized type name.
llvm-svn: 44130
|
|
|
|
| |
llvm-svn: 44127
|
|
|
|
| |
llvm-svn: 44126
|
|
|
|
|
|
|
| |
have an owning pointer to the referred TagDecl. This should hopefully fix a
bug where TagDecls (including decls from structs, etc.) were not serialized.
llvm-svn: 44106
|
|
|
|
| |
llvm-svn: 44094
|
|
|
|
| |
llvm-svn: 44093
|
|
|
|
| |
llvm-svn: 44092
|
|
|
|
| |
llvm-svn: 44091
|
|
|
|
| |
llvm-svn: 44090
|
|
|
|
|
|
|
|
|
|
|
|
| |
in TagDecl*. This allows the deserializer to use ASTContext to create the
TagTypes. Deserialize TagTypes then rely on pointer-backpatching to resolve
the decls.
This may not be the interface that we want, but as the implementation of
TagTypes will potentially change significantly in the future, I'm leaving this
for now. An appropriate FIXME is in place.
llvm-svn: 44089
|
|
|
|
| |
llvm-svn: 44087
|
|
|
|
|
|
| |
in AsmStmt).
llvm-svn: 44077
|
|
|
|
|
|
|
| |
FunctionDecl had decls for its parameters but still had greater than 0
arguments.
llvm-svn: 44076
|
|
|
|
| |
llvm-svn: 44075
|
|
|
|
| |
llvm-svn: 44074
|
|
|
|
|
|
|
|
| |
Removed tons of dead code in ASTContext concerning how types use to be
serialized.
Removed serialization methods from QualType that are no longer used.
llvm-svn: 44070
|
|
|
|
|
|
| |
constants and initializers. Patch by Sanghyeon Seo, thanks!
llvm-svn: 44049
|
|
|
|
|
|
| |
the new serialization API.
llvm-svn: 44035
|
|
|
|
|
|
|
| |
understand, and batched the emission owned subobjects (using
BatchEmitOwnedPtr) to get a smaller output bitcode size.
llvm-svn: 44033
|
|
|
|
| |
llvm-svn: 44028
|
|
|
|
|
|
| |
for class implementations).
llvm-svn: 44027
|
|
|
|
|
|
| |
directMaterialize to CreateImpl.
llvm-svn: 44020
|
|
|
|
|
|
| |
lvalues.
llvm-svn: 44017
|
|
|
|
| |
llvm-svn: 44016
|
|
|
|
|
|
|
|
| |
- Add Sema::CurMethodDecl, in preparation for adding ObjcIvarRefExpr.
- Add ObjcInterfaceDecl::lookupInstanceVariable(), in prep for adding ivars.
- A couple renames in ObjcInterfaceDecl, while I was in the vicinity:-)
llvm-svn: 44015
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
about private methods (r43989).
While the diff is large, the idea is very simple. When we parse method definitions (in an @implementation), we need to add them incrementally (rather than wait until the @end).
Other details...
- Renamed Sema::ActOnAddMethodsToObjcDecl() to Sema::ActOnAtEnd(). The methods are now optional arguments.
- Removed Parser::AllImplMethods (a nice cleanup).
- Added location info to ObjcImplementationDecl (since we will need it very soon:-)
- Modified message.m test to no longer allow the bogus diagnostic.
llvm-svn: 43995
|
|
|
|
|
|
|
|
|
|
| |
declared in an implementation (but not listed in the interface).
This commit is only 95% of the bug fix. The last piece to this puzzle is to add the method decls to the implementation incrementally (as we encounter them). At the moment, the methods aren't added until we see an @end (which is too late).
I will complete this later...
llvm-svn: 43989
|
|
|
|
| |
llvm-svn: 43946
|