- Oct 08, 2008
-
-
Zhongxing Xu authored
This is the first step to implement a field-sensitive store model. Other things are simplified: no heap shape assumption, no parameter alias assumption, etc. llvm-svn: 57285
-
Ted Kremenek authored
A little more tweaking with StmtIterator and SizeOfAlignofExpr. A recent commit actually introduced a regression, not fixed a bug. llvm-svn: 57282
-
Ted Kremenek authored
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*. llvm-svn: 57275
-
Ted Kremenek authored
llvm-svn: 57274
-
Ted Kremenek authored
Fixed a masked bug when iterating over the child expressions of SizeOfAlignOfTypeExpr. This bug was unmasked by recent changes to StmtIterator. llvm-svn: 57273
-
Ted Kremenek authored
Serialization for OwningDeclGroupRefs now works. llvm-svn: 57272
-
Ted Kremenek authored
llvm-svn: 57271
-
- Oct 07, 2008
-
-
Argyrios Kyrtzidis authored
In ParseParenDeclarator match "D.setGroupingParens(true);" with another setGroupingParens call after the ')' is parsed. Fixes this bug: int (x)(0); // error, expected function declarator where the '(0)' initializer is llvm-svn: 57241
-
Zhongxing Xu authored
llvm-svn: 57240
-
Zhongxing Xu authored
llvm-svn: 57225
-
Ted Kremenek authored
llvm-svn: 57222
-
Argyrios Kyrtzidis authored
llvm-svn: 57220
-
Argyrios Kyrtzidis authored
Simplify handling of direct initializers by letting Sema::AddInitializerToDecl handle conversions, instead of using Sema::ActOnCXXTypeConstructExpr. Additional benefit is that diagnostics are the same for both direct-initialization and copy-initialization. In the case of "int x( expression );": -The Init expression of VarDecl 'x' will be the expression inside the parentheses. -VarDecl::hasCXXDirectInitializer for VarDecl 'x' will return true to let clients distinguish from "int x = expression ;". llvm-svn: 57219
-
Ted Kremenek authored
Remove DeclStmt::getDecl(). Now clients of DeclStmt must explicitly reason about a DeclStmt referring to a collection of Decls. llvm-svn: 57217
-
Ted Kremenek authored
Explicitly access the first Decl* referenced by a DeclStmt instead of using "getDecl()." Added a FIXME indicating that the call to RewriteObjCQualifiedInterfaceTypes() is meant to modifying the type-specifier; hopefully this will be a little more clean once DeclGroups contain type specifiers. llvm-svn: 57216
-
Ted Kremenek authored
llvm-svn: 57215
-
Ted Kremenek authored
Modified DeclGroupRef to always load/store the internal pointer value as Decl*. This hopefully will obviate any concerns with violating strict type-aliasing issues. llvm-svn: 57213
-
Ted Kremenek authored
Use DeclStmt::getSolitaryDecl() instead of DeclStmt::getDecl() when rewriting Objective-c foreach statements. llvm-svn: 57212
-
- Oct 06, 2008
-
-
Ted Kremenek authored
Use DeclStmt::getSolitaryDecl() instead of DeclStmt::getDecl() when processing the Decl of an Objective-C foreach statement. llvm-svn: 57209
-
Ted Kremenek authored
Use DeclStmt::getSolitaryDecl() instead of DeclStmt::getDecl() when processing the Decl of a @catch statement. llvm-svn: 57208
-
Ted Kremenek authored
When processing Objective-C foreach statements, first check to see if the statement has a DeclStmt with a single Decl. Afterwards, use DeclStmt::getSolitaryDecl() to access that Decl (thus avoiding an assertion being triggered). These changes remove an unneeded use of ScopedDecl::getNextDeclarator() and DeclStmt::getDecl(). llvm-svn: 57207
-
Ted Kremenek authored
llvm-svn: 57206
-
Ted Kremenek authored
This patch precedes removing getDecl() DeclStmt::entirely. llvm-svn: 57205
-
Ted Kremenek authored
llvm-svn: 57204
-
Ted Kremenek authored
Use "unsigned" instead of "int" for i to remove a "comparison between unsigned and signed" warning (potential integer overflow). llvm-svn: 57201
-
Anders Carlsson authored
llvm-svn: 57198
-
Ted Kremenek authored
Use the DeclStmt::decl_iterator to get the first decl in a DeclStmt instead of using DeclStmt::getDecl(). llvm-svn: 57196
-
Ted Kremenek authored
In RewriteFunctionBody, using DeclStmt::decl_iterator to rewrite the Decls in a DeclStmt instead of using getDecl() to fetch the first Decl. Steve: Please review this patch. 'make test' passes, and my cursory scan of the rewriter leads me to believe this doesn't break anything, but I'm not sure. llvm-svn: 57195
-
Ted Kremenek authored
Don't use DeclStmt::getDecl(); this will eventually disappear. Just fetch the first decl using the DeclStmt::decl_iterator. llvm-svn: 57194
-
Ted Kremenek authored
llvm-svn: 57192
-
Ted Kremenek authored
Added PrintRawDeclStmt; use this method to print out DeclStmt instead of using PrintRawDecl (which falsely assumes DeclStmts have only one Decl). llvm-svn: 57191
-
Ted Kremenek authored
llvm-svn: 57190
-
Ted Kremenek authored
Use DeclStmt::decl_iterator instead of using Decl::getDecl(). Soon DeclStmts will wrap group of Decls. Added FIXME. llvm-svn: 57189
-
Argyrios Kyrtzidis authored
Add a FIXME until class constructors are supported. llvm-svn: 57188
-
Ted Kremenek authored
llvm-svn: 57187
-
Ted Kremenek authored
llvm-svn: 57186
-
Ted Kremenek authored
llvm-svn: 57180
-
Argyrios Kyrtzidis authored
This is how this kind of initializers appear in the AST: -The Init expression of the VarDecl is a functional type construction (of the VarDecl's type). -The new VarDecl::hasCXXDirectInitializer() returns true. e.g, for "int x(1);": -VarDecl 'x' has Init with expression "int(1)" (CXXFunctionalCastExpr). -hasCXXDirectInitializer() of VarDecl 'x' returns true. A major benefit is that clients that don't particularly care about which exactly form was the initializer can handle both cases without special case code. Note that codegening works now for "int x(1);" without any changes to CodeGen. llvm-svn: 57178
-
Ted Kremenek authored
llvm-svn: 57176
-
Chris Lattner authored
llvm-svn: 57165
-