- 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
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
-
- 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
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
-
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
-
Chris Lattner authored
won't expand to the builtin. This fixes rdar://6248329 llvm-svn: 57164
-
Chris Lattner authored
constant lvalue. Implement this in codegen by moving the code out of CGBuiltin into EmitConstantExpr. llvm-svn: 57163
-
Chris Lattner authored
llvm-svn: 57162
-
Chris Lattner authored
it is possible that a builtin could sometimes be folded (e.g. __builtin_clz) if it's operand is a constant. llvm-svn: 57161
-
Chris Lattner authored
which is checking for something that can be inconsistent with what we can constant fold. llvm-svn: 57159
-
Chris Lattner authored
interface into the constant folding interface. llvm-svn: 57158
-
Chris Lattner authored
llvm-svn: 57157
-
Chris Lattner authored
do it instead. We should still handle __builtin_nan etc, but don't yet. This fixes incorrect evaluation of __builtin_constant_p, a FIXME. llvm-svn: 57156
-
Chris Lattner authored
constants for them, just use the constant evaluator to do the job. This also fixes crashes on 'unknown constant builtins'. llvm-svn: 57155
-
Chris Lattner authored
llvm-svn: 57154
-