- Oct 04, 2008
-
-
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
llvm-svn: 57038
-
Chris Lattner authored
that includes any edits in the range. llvm-svn: 57037
-
Steve Naroff authored
llvm-svn: 57036
-
- Oct 03, 2008
-
-
Steve Naroff authored
llvm-svn: 57028
-
Daniel Dunbar authored
llvm-svn: 57019
-
Daniel Dunbar authored
llvm-svn: 57015
-
Steve Naroff authored
llvm-svn: 57004
-
Steve Naroff authored
- Many rewriter modifications. llvm-svn: 57003
-
Steve Naroff authored
llvm-svn: 57001
-
Daniel Dunbar authored
llvm-svn: 56993
-
Daniel Dunbar authored
llvm-svn: 56992
-
Daniel Dunbar authored
llvm-svn: 56991
-
Steve Naroff authored
llvm-svn: 56987
-
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
-
Steve Naroff authored
llvm-svn: 56984
-
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
-
- Oct 02, 2008
-
-
Daniel Dunbar authored
versions of sprintf and friends. - Added FIXME that this mechanism should be generalized. llvm-svn: 56962
-
Daniel Dunbar authored
handling blocks. - This has false positives, but at least prevents miscompiles. llvm-svn: 56958
-
Daniel Dunbar authored
llvm-svn: 56956
-
Steve Naroff authored
This commit also includes some name changes in the blocks rewriter (no functionality change). llvm-svn: 56955
-
Daniel Dunbar authored
llvm-svn: 56954
-
Daniel Dunbar authored
llvm-svn: 56952
-
Daniel Dunbar authored
OS version part to that of the host on darwin. llvm-svn: 56943
-
Daniel Dunbar authored
llvm-svn: 56941
-
Ted Kremenek authored
Expand checking to include functions, not just methods. llvm-svn: 56938
-
Mon P Wang authored
llvm-svn: 56936
-
- Oct 01, 2008
-
-
Ted Kremenek authored
llvm-svn: 56916
-
Ted Kremenek authored
llvm-svn: 56915
-
Ted Kremenek authored
llvm-svn: 56912
-
Ted Kremenek authored
llvm-svn: 56909
-
Daniel Dunbar authored
- So far this works fairly well for me for building applications using clang as a gcc substitute. If you are using ccc for a different purpose and this is a problem, speak up! Note you can also use CCC_NATIVE=0 to disable. - Also, turn CCC_ECHO off as default. - Also, pass through -Wl, to linker. llvm-svn: 56904
-
Daniel Dunbar authored
llvm-svn: 56902
-
Daniel Dunbar authored
collisions. - Provide CodeGenModule::CreateRuntimeFunction which guarantees that the function it creates will have the provided name in the final module. This allows the runtime to have its functions protected from declarations of the same name in the source code. - One could argue that this is a reason to abuse the llvm::Module namespace for dealing with function redeclarations. However, that approach seems conceptually flawed to me. This one also happens to be somewhat more efficient. No functionality change. llvm-svn: 56899
-
Ted Kremenek authored
Use this updated interface when invalidating arguments passed by reference; the type of symbol is of the object passed by reference, not the reference itself. llvm-svn: 56894
-
Ted Kremenek authored
llvm-svn: 56892
-
Ted Kremenek authored
llvm-svn: 56891
-
Daniel Dunbar authored
-mmacosx-version-min. One might anticipate that at some point I will just break down and go through the man page. That seems a little too obvious. llvm-svn: 56890
-
- Sep 30, 2008
-
-
Daniel Dunbar authored
- More straightforward, e.g. -E should always imply action = 'preprocess' (I think). - Pass another option through for OS X. llvm-svn: 56884
-