- May 05, 2009
-
-
Anders Carlsson authored
Refactor global decls to hold either a regular Decl or a CXXConstructorDecl + ctor type or a CXXDestructorDecl + dtor type. llvm-svn: 70962
-
Ted Kremenek authored
llvm-svn: 70952
-
Daniel Dunbar authored
llvm-svn: 70951
-
Ted Kremenek authored
ns_ownership_returns -> ns_returns_owned ns_ownership_retain -> ns_retains ns_ownership_release -> ns_releases cf_ownership_retain -> cf_retains cf_ownership_release -> cf_releases llvm-svn: 70949
-
Ted Kremenek authored
llvm-svn: 70946
-
Ted Kremenek authored
llvm-svn: 70943
-
Ted Kremenek authored
llvm-svn: 70941
-
Ted Kremenek authored
llvm-svn: 70940
-
Fariborz Jahanian authored
objc_assign_global API when assigning to global objective-c object pointer. llvm-svn: 70939
-
Daniel Dunbar authored
compensating for super classes). This was making the reported class sizes for empty classes very, very wrong. - Also, we now report the size info for an empty class like gcc (as the offset of the start, not as 0, 0). - Add a few more test cases we were mishandling before (padding bit field at end of struct, for example). llvm-svn: 70938
-
- May 04, 2009
-
-
Daniel Dunbar authored
layout. - This is much simpler / more efficient. - This also properly computes the size in the presence of bit-fields. llvm-svn: 70916
-
Fariborz Jahanian authored
llvm-svn: 70901
-
Ted Kremenek authored
llvm-svn: 70897
-
Chris Lattner authored
function calls. For a program like this: #include <stdio.h> static __inline__ __attribute__((always_inline)) int bar(int x) { return 4; } int main() { int X = bar(4); printf("%d\n", X); } clang was not outputing any debug info for the body of main(). This is because the backend is getting confused by the region_start/end that clang is emitting for block scopes. For now, just disable these (matching llvm-gcc), this stuff is in progress of rework anyway. llvm-svn: 70889
-
Ted Kremenek authored
control-flow expressions as dead. llvm-svn: 70887
-
Ted Kremenek authored
'==' and '!=' (some code in the '!=' was not replicated in the '==' code, causing some constraints to get lost). llvm-svn: 70885
-
Ted Kremenek authored
'objc_ownership_cfretain' -> 'cf_ownership_retain' 'objc_ownership_cfrelease' -> 'cf_ownership_release' Motivation: Core Foundation objects can be used in isolation from Objective-C, and this forces users to reason about the separate semantics of CF objects. More Sema support pending. llvm-svn: 70884
-
Ted Kremenek authored
return type and the selector. This is inconsistent with C functions (where such attributes would be placed on the return type, not the the FunctionDecl), and is inconsistent with what people are use to seeing. llvm-svn: 70878
-
Chris Lattner authored
"The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working)." Patch by David Chisnall! llvm-svn: 70877
-
Ted Kremenek authored
retain checker: Add checker support for FunctionDecl ownership annotations. Need to add Sema support. llvm-svn: 70873
-
Ted Kremenek authored
separate method. llvm-svn: 70870
-
Ted Kremenek authored
llvm-svn: 70869
-
Daniel Dunbar authored
The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working). llvm-svn: 70868
-
Ted Kremenek authored
ElementRegions that have non-zero array indices. llvm-svn: 70867
-
Ted Kremenek authored
llvm-svn: 70865
-
Ted Kremenek authored
llvm-svn: 70864
-
Zhongxing Xu authored
no-outofbounds.c still fails. Previously it passed because the array index is mistakenly a loc::ConcreteInt. llvm-svn: 70844
-
Ted Kremenek authored
StoreManager: Handle casts from one element region to another. Update test cases. llvm-svn: 70836
-
Daniel Dunbar authored
llvm-svn: 70835
-
Douglas Gregor authored
Simplify the interesting-region code by assimmilating blocks of non-whitespace text with each expansion step. It's easier and seems to have better results. llvm-svn: 70833
-
Ted Kremenek authored
'ElementRegion' on top of the VarRegion for 'x'. This causes the test case xfail_wine_crash.c to now pass for BasicStoreManager. It doesn't crash for RegionStoreManager either, but reports a bogus unintialized value warning. llvm-svn: 70832
-
Douglas Gregor authored
1) First of all, we treat _ as part of an identifier and not as punctuation (oops). 2) Second of all, always make sure that the token that the ^ is pointing at is fully within the "interesting" part of the range. llvm-svn: 70831
-
Ted Kremenek authored
ElementRegion. I also removed 'ElementRegion::getArrayRegion', although we may need to add this back. This breaks a few test cases with RegionStore: - 'array-struct.c' triggers an infinite recursion in RegionStoreManager. Need to investigate. - misc-ps.m triggers a failure with RegionStoreManager as we now get the diagnostic: 'Line 159: Uninitialized or undefined return value returned to caller.' There were a bunch of places that needed to be edit RegionStoreManager, and we may not be passing all the correct 'element types' down from GRExprEngine. Zhongxing: When you get a chance, could you review this? I could have easily screwed up something basic in RegionStoreManager. llvm-svn: 70830
-
Douglas Gregor authored
in C++, taking into account conversions to the "composite pointer type" so that we can compare, e.g., a pointer to a derived class to a pointer to a base class. Also, upgrade the "comparing distinct pointer types" from a warning to an error for C++, since this is clearly an error. Turns out that we hadn't gone through and audited this code for C++, ever. Fixes <rdar://problem/6816420>. llvm-svn: 70829
-
Ted Kremenek authored
- Fix retain checker test failures. - Update retain checker to have annotations override default summary effects, not completely redefine them. llvm-svn: 70828
-
Daniel Dunbar authored
- This implements gcc style Objective-C interface layout (I think). Currently it is always off, there is no functionality change unless this is passed. For the curious, the deal is that gcc lays out the fields of a subclass as if they were part of the superclass. That is, the subclass fields immediately follow the super class fields instead of being padded to the alignment of the superclass structure. - Currently gcc uses the tight layout in 32-bit and 64-bit modes, and llvm-gcc uses it in 32-bit only, for reasons which aren't clear yet. We probably want to switch to matching gcc, once this makes it through testing... my hope is that we can also fix llvm-gcc in order to maintain compatibility between the compilers. llvm-svn: 70827
-
Ted Kremenek authored
which is returned instead of a null pointer. This helps centralize the logic concerning "default effects". llvm-svn: 70826
-
Eli Friedman authored
llvm-svn: 70825
-
Ted Kremenek authored
We never compare summaries by their pointers, and we create only a handful of them when analyzing a given function. llvm-svn: 70824
-
Eli Friedman authored
hopefully, this fixes PR4144 without any regressions. llvm-svn: 70823
-