- Oct 06, 2008
-
-
Anders Carlsson authored
llvm-svn: 57145
-
Anders Carlsson authored
llvm-svn: 57144
-
Argyrios Kyrtzidis authored
llvm-svn: 57143
-
Anders Carlsson authored
llvm-svn: 57142
-
Argyrios Kyrtzidis authored
llvm-svn: 57141
-
- Oct 05, 2008
-
-
Chris Lattner authored
llvm-svn: 57140
-
Chris Lattner authored
target indep code. llvm-svn: 57139
-
Chris Lattner authored
llvm-svn: 57138
-
Chris Lattner authored
llvm-svn: 57137
-
Argyrios Kyrtzidis authored
No funcitonality change. llvm-svn: 57136
-
Chris Lattner authored
llvm-svn: 57134
-
Chris Lattner authored
target indep code. Note that this changes functionality on PIC16: it defines __INT_MAX__ correctly for it, and it changes sizeof(long) to 16-bits (to match the size of pointer). llvm-svn: 57132
-
Argyrios Kyrtzidis authored
sizeof(int()) -> "int()" is type-id sizeof(int()+1) -> "int()+1" is expression. llvm-svn: 57131
-
Chris Lattner authored
integer size #defines over to the Preprocessor. llvm-svn: 57130
-
Chris Lattner authored
llvm-svn: 57129
-
Chris Lattner authored
then target specific. llvm-svn: 57128
-
Chris Lattner authored
llvm-svn: 57127
-
Argyrios Kyrtzidis authored
Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativeParsingResult enum). This was the motivation of the following changes: -'TentativeParsingResult' enum is replaced by a 'TPResult' class that basically encapsulates the enum. -TPR_true, TPR_false, TPR_ambiguous, and TPR_error enum constants are replaced by TPResult::True(), TPResult::False(), etc. calls that return a TPResult object. -Also fixed the subtle bug in Parser::isCXXFunctionDeclarator (caught by the above changes as a compilation error). llvm-svn: 57125
-
Anders Carlsson authored
llvm-svn: 57121
-
Chris Lattner authored
llvm-svn: 57119
-
Anders Carlsson authored
llvm-svn: 57118
-
Argyrios Kyrtzidis authored
Disambiguate between a declaration or an expression, in the 'for-init-statement' part of a 'for' statement. llvm-svn: 57112
-
Argyrios Kyrtzidis authored
llvm-svn: 57111
-
Argyrios Kyrtzidis authored
Disambiguate between a declaration or expression for the 'condition' part of a if/switch/while/for statement. llvm-svn: 57109
-
Argyrios Kyrtzidis authored
llvm-svn: 57108
-
Zhongxing Xu authored
llvm-svn: 57107
-
Daniel Dunbar authored
- Print size as number of elements times "sizeof(elt type)", not perfect but better than just printing the completely wrong type. llvm-svn: 57100
-
Argyrios Kyrtzidis authored
'ParseTentative.cpp' implements the functionality needed to resolve ambiguous C++ statements, to either a declaration or an expression, by "tentatively parsing" them. llvm-svn: 57084
-
- Oct 04, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57072
-
Daniel Dunbar authored
- Uses Action::ActOnPragmaPack - Test case is XFAIL pending verifier fixes. llvm-svn: 57066
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 57065
-
Ted Kremenek authored
This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes. This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h. This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses. This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on. The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls. In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal. Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables. There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized. The memory region abstraction also allows type-information to literally be affixed to a memory region. This will allow the some now redundant logic to be removed from the retain/release checker. llvm-svn: 57042
-
Zhongxing Xu authored
llvm-svn: 57041
-
Chris Lattner authored
that includes any edits in the range. llvm-svn: 57037
-
- Oct 03, 2008
-
-
Daniel Dunbar authored
llvm-svn: 57019
-
Daniel Dunbar authored
llvm-svn: 57015
-
Daniel Dunbar authored
llvm-svn: 56993
-
Daniel Dunbar authored
llvm-svn: 56992
-
Steve Naroff authored
This is a temporary solution to help with the block rewriter (though it certainly has general utility). Once DeclGroup's are implemented, this SourceLocation should be stored with it (since it applies to all the decls). llvm-svn: 56985
-
Daniel Dunbar authored
- Enabled for builtins which are always constant expressions (__builtin_huge_val*, __builtin_inf*, __builtin_constant_p, __builtin_classify_type, __builtin___CFStringMakeConstantString). Added Builtin::Context::isConstantExpr. - Currently overly simply interface which only works for builtins whose constantexprness does not depend on their arguments. CallExpr::isBuiltinConstantExpr now takes an ASTContext argument. llvm-svn: 56983
-