- Dec 17, 2008
-
-
Ted Kremenek authored
- Fix regression reported in <rdar://problem/6452745>. After a null check, null references to resources should not have a retain count. This regression was caused by removing the call to "GRTransferFuncs::EvalAssume" in BasicConstraintManager. - Added a test case to test this behavior. llvm-svn: 61155
-
Fariborz Jahanian authored
Note that one test duplicate-ivar-check.m will fail because I need to re-implement duplicate ivar checking. llvm-svn: 61154
-
Chris Lattner authored
llvm-svn: 61152
-
Ted Kremenek authored
llvm-svn: 61151
-
rdar://problem/6451816Ted Kremenek authored
- Because of the introduction of AnonTypedRegions when reasoning about casts, we had a regression in the "symbolication" of variable values passed-by-reference to a function. This is now fixed in CFRefCount.cpp (-checker-cfref) by blasting through the layer of AnonTypedRegions when symbolicating the value of the variable. This logic may get moved elsewhere. Note that this change affects only -checker-cfref and not -checker-simple; eventually this logic should get pulled out of CFRefCount.cpp into a more common place. All users use -checker-cfref by default, and -checker-simple should probably just be removed. - Updated test 'Analysis/uninit-vals-ps.c' to only use -checker-cfref and added a test case for this regression. llvm-svn: 61147
-
Ted Kremenek authored
llvm-svn: 61146
-
Ted Kremenek authored
llvm-svn: 61145
-
Fariborz Jahanian authored
llvm-svn: 61144
-
Fariborz Jahanian authored
Improved on property diagnostics. Added a FIXME per Steve's comments. llvm-svn: 61141
-
Douglas Gregor authored
Make the injected-class-name of a C++ class a separate RecordDecl from the class itself, with a different scope. This eliminates some ownership issues, so that the RecordDecl only lives in a single context llvm-svn: 61140
-
Douglas Gregor authored
llvm-svn: 61139
-
Douglas Gregor authored
warning: statement was disambiguated as declaration because it is currently firing in cases where the declaration would not actually parse as a statement. We'd love to bring this warning back if we can make it more accurate. llvm-svn: 61137
-
Steve Naroff authored
llvm-svn: 61135
-
rdar://problem/6450964Steve Naroff authored
Fix <rdar://problem/6450964> clang on xcode: Assertion failed: (RecordForDecl && "lookupFieldDeclForIvar no storage for class"). This was a recent regression caused by r61043 (related to code gen. for ivar references). Fariborz, please review. I have some other concerns related to code generation for ivars that we can discuss later. llvm-svn: 61134
-
Chris Lattner authored
a name. This implements PR3208. llvm-svn: 61127
-
Chris Lattner authored
Move Sema::ActOnDefs to SemaDeclObjC llvm-svn: 61126
-
Chris Lattner authored
llvm-svn: 61125
-
Douglas Gregor authored
llvm-svn: 61116
-
Douglas Gregor authored
llvm-svn: 61115
-
Fariborz Jahanian authored
llvm-svn: 61114
-
Steve Naroff authored
llvm-svn: 61113
-
- Dec 16, 2008
-
-
Nuno Lopes authored
llvm-svn: 61112
-
Nuno Lopes authored
llvm-svn: 61111
-
Douglas Gregor authored
llvm-svn: 61110
-
Eli Friedman authored
llvm-svn: 61108
-
Ted Kremenek authored
- one queue (FIFO) to queue up nodes at block entrances - another queue (LIFO) to queue up other nodes - The idea is to explore basic blocks to completion, but to do a BFS exploration of blocks. llvm-svn: 61106
-
Ted Kremenek authored
- Added four new ProgramPoint types that subclass PostStmt for use in GRExprEngine::EvalLocation: - PostOutOfBoundsCheckFailed - PostUndefLocationCheckFailed - PostNullCheckFailed - PostLocationChecksSucceed These were created because of a horribly subtle caching bug in EvalLocation where a node representing an "bug condition" in EvalLocation (e.g. a null dereference) could be re-used as the "non-bug condition" because the Store did not contain any information to differentiate between the two. The extra program points just disables any accidental caching between EvalLocation and its callers. GRExprEngine: - EvalLocation now returns a NodeTy* instead of GRState*. This should be used as the "vetted" predecessor for EvalLoad/EvalStore. llvm-svn: 61105
-
Douglas Gregor authored
is completely defined (C++ [class.mem]p2). Reverse the order in which we process the definitions of member functions specified inline. This way, we'll get diagnostics in the order in which the member functions were declared in the class. llvm-svn: 61103
-
Eli Friedman authored
change the semantics. Please correct this if the precedence was actually supposed to be something different. llvm-svn: 61099
-
Eli Friedman authored
Someone should double-check that I didn't somehow break ObjC serialization; I think the change there actually changes the semantics. llvm-svn: 61098
-
Nate Begeman authored
llvm-svn: 61097
-
Fariborz Jahanian authored
llvm-svn: 61090
-
rdar://problem/6445502Steve Naroff authored
Fix <rdar://problem/6445502> clang ObjC rewriter: _Block_release has wrong parameter type in preamble llvm-svn: 61088
-
Douglas Gregor authored
N::X only skips those entities specified in C++ [basic.lookup.qual]p1. Note that both EDG and GCC currently get this wrong. EDG has confirmed that the bug will be fixed in a future version. llvm-svn: 61079
-
Zhongxing Xu authored
llvm-svn: 61069
-
Fariborz Jahanian authored
be duplicates and a test case. llvm-svn: 61068
-
Douglas Gregor authored
Make name lookup when we're inside a declarator's scope, such as ClassName::func, work with the new unqualified name lookup code. Test it with default arguments in out-of-line member definitions llvm-svn: 61060
-
Douglas Gregor authored
functions. They work except that name lookup within the default arguments needs to be deferred until the class definition is complete (see FIXME in the test). llvm-svn: 61059
-
Douglas Gregor authored
specifiers. Specifically: * Determine when an out-of-line function definition does not match any declaration within the class or namespace (including coping with overloaded functions). * Complain about typedefs and parameters that have scope specifiers. * Complain about out-of-line declarations that aren't also definitions. * Complain about non-static data members being declared out-of-line. * Allow cv-qualifiers on out-of-line member function definitions. llvm-svn: 61058
-
- Dec 15, 2008
-
-
Eli Friedman authored
programs. llvm-svn: 61056
-