| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 89894
|
| |
|
|
| |
llvm-svn: 89892
|
| |
|
|
|
|
|
|
|
|
|
| |
the linkage of a declaration. Switch the lame (and completely wrong)
NamedDecl::hasLinkage() over to using the new NamedDecl::getLinkage(),
along with the "can this declaration be a template argument?" check
that started all of this.
Fixes -fsyntax-only for PR5597.
llvm-svn: 89891
|
| |
|
|
| |
llvm-svn: 89890
|
| |
|
|
|
|
| |
extend the functionality of the retain/release checker using the new Checker interface. Pieces of CFRefCount will gradually be migrated to this new class over time.
llvm-svn: 89889
|
| |
|
|
| |
llvm-svn: 89888
|
| |
|
|
|
|
| |
This allows GRTransferFuncs::RegisterChecks() to always be called after all checkers have been registered.
llvm-svn: 89887
|
| |
|
|
|
|
| |
instead of replicating most of its logic (and missing pieces).
llvm-svn: 89886
|
| |
|
|
|
|
| |
initializer name is available.
llvm-svn: 89885
|
| |
|
|
|
|
| |
by making it a static function within GRExprEngine.cpp.
llvm-svn: 89884
|
| |
|
|
|
|
| |
manually in AnalysisConsumer.cpp.
llvm-svn: 89883
|
| |
|
|
|
|
|
|
|
| |
only stop processing the checkers after all the nodes for a current
check have been processed. This (I believe) handles the case where
PredSet (the input nodes) contains more than one node due to state
bifurcation. Zhongxing: can you review this?
llvm-svn: 89882
|
| |
|
|
| |
llvm-svn: 89876
|
| |
|
|
| |
llvm-svn: 89875
|
| |
|
|
| |
llvm-svn: 89874
|
| |
|
|
|
|
|
|
|
|
|
| |
function templates (in C++98), friend function templates, and
out-of-line definitions of members of class templates.
Also handles merging of default template arguments from previous
declarations of function templates, for C++0x. However, we don't yet
make use of those default template arguments.
llvm-svn: 89872
|
| |
|
|
| |
llvm-svn: 89867
|
| |
|
|
|
|
| |
switch condition, fixing PR5612
llvm-svn: 89864
|
| |
|
|
| |
llvm-svn: 89861
|
| |
|
|
| |
llvm-svn: 89860
|
| |
|
|
| |
llvm-svn: 89859
|
| |
|
|
| |
llvm-svn: 89858
|
| |
|
|
| |
llvm-svn: 89856
|
| |
|
|
| |
llvm-svn: 89855
|
| |
|
|
| |
llvm-svn: 89854
|
| |
|
|
| |
llvm-svn: 89853
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
'#ifndef foo' pattern:
#ifndef foo
#define foo(parm1)
#endif
foo(parm1) parm1 ...
#undef foo
llvm-svn: 89851
|
| |
|
|
| |
llvm-svn: 89849
|
| |
|
|
|
|
|
| |
still parse the body of the switch to try to avoid spurious
diagnostics. Fixes PR5606.
llvm-svn: 89847
|
| |
|
|
|
|
| |
instantiation. lib/Support/CommandLine.cpp is our test case
llvm-svn: 89845
|
| |
|
|
| |
llvm-svn: 89843
|
| |
|
|
| |
llvm-svn: 89842
|
| |
|
|
|
|
| |
The attributes are currently ignored.
llvm-svn: 89837
|
| |
|
|
| |
llvm-svn: 89836
|
| |
|
|
|
|
| |
yet).
llvm-svn: 89835
|
| |
|
|
| |
llvm-svn: 89834
|
| |
|
|
|
|
|
|
|
|
| |
statements, e.g.,
for(; X x = X(); ) { ... }
Daniel or Anders, please review!
llvm-svn: 89832
|
| |
|
|
|
|
| |
anytime we pass a tracked object to a block call we stop tracking it.
llvm-svn: 89831
|
| |
|
|
| |
llvm-svn: 89830
|
| |
|
|
| |
llvm-svn: 89829
|
| |
|
|
|
|
| |
precursor to having basic static analysis support for blocks.
llvm-svn: 89828
|
| |
|
|
|
|
| |
to build casted expression-list AST to Sema.
llvm-svn: 89827
|
| |
|
|
|
|
| |
parsed this
llvm-svn: 89822
|
| |
|
|
| |
llvm-svn: 89820
|
| |
|
|
|
|
| |
we want to test
llvm-svn: 89818
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All statements that involve conditions can now hold on to a separate
condition declaration (a VarDecl), and will use a DeclRefExpr
referring to that VarDecl for the condition expression. ForStmts now
have such a VarDecl (I'd missed those in previous commits).
Also, since this change reworks the Action interface for
if/while/switch/for, use FullExprArg for the full expressions in those
expressions, to ensure that we're emitting
Note that we are (still) not generating the right cleanups for
condition variables in for statements. That will be a follow-on
commit.
llvm-svn: 89817
|
| |
|
|
|
|
| |
definition. This allows sema to not emit spurious diagnostics in some invalid code.
llvm-svn: 89816
|
| |
|
|
|
|
| |
checker when the code is targetted for either Tiger or Leopard.
llvm-svn: 89810
|
| |
|
|
|
|
| |
got introduced in Mac OS X 10.5 and later, notably return values of double, float, etc., will not be garbage. Fixes <rdar://problem/6829160>.
llvm-svn: 89809
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initial transition of the nil-receiver checker to the Checker
interface as done in r89745. Some important changes include:
1) We consolidate the BugType object used for nil receiver bug
reports, and don't include the type of the returned value in the
BugType (which would be wrong if a nil receiver bug was reported more
than once)
2) Added a new (temporary) flag to CheckerContext: DoneEvauating.
This is used by GRExprEngine when evaluating message expressions to
not continue evaluating the message expression if this flag is set.
This flag is currently set by the nil receiver checker. This is an
intermediate solution to allow the nil-receiver checker to properly
work as a plug-in outside of GRExprEngine. Basically, this flag
indicates that the entire message expression has been evaluated, not
just a precondition (which is what the nil-receiver checker does).
This flag *should not* be repurposed for general use, but just to pull
more things out of GRExprEngine that already in there as we devise a
better interface in the Checker class.
3) Cleaned up the logic in the nil-receiver checker, making the
control-flow a lot easier to read.
llvm-svn: 89804
|