| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
libclangGRCore
llvm-svn: 122421
|
|
|
|
| |
llvm-svn: 122420
|
|
|
|
|
|
| |
the location (l-value) to it.
llvm-svn: 122396
|
|
|
|
| |
llvm-svn: 122393
|
|
|
|
| |
llvm-svn: 122390
|
|
|
|
|
|
|
|
|
|
|
| |
This change is necessary when the variable is a const reference and we need
the l-value of the construct expr. After that, when binding the variable,
recover the lazy compound value when the variable is not a reference.
In Environment, use the value of a no-op cast expression when it has one.
Otherwise, blast-through it.
llvm-svn: 122388
|
|
|
|
| |
llvm-svn: 122271
|
|
|
|
| |
llvm-svn: 122270
|
|
|
|
|
|
| |
create a temporary object for it.
llvm-svn: 122161
|
|
|
|
| |
llvm-svn: 122146
|
|
|
|
|
|
| |
equivalents.
llvm-svn: 122140
|
|
|
|
| |
llvm-svn: 122117
|
|
|
|
| |
llvm-svn: 122087
|
|
|
|
|
|
|
| |
checker that are automatically handled now
by the Cocoa conventions logic.
llvm-svn: 122047
|
|
|
|
|
|
|
|
|
| |
to libAnalysis. Similar to Format (format string checking),
CocoaConventions has the
potential to serve clients other than the
static analyzer.
llvm-svn: 122040
|
|
|
|
|
|
|
|
| |
only indicates the create rule if it starts
at the beginning of the method name, not
within the method name.
llvm-svn: 122036
|
|
|
|
|
|
|
| |
to start with lowercase characters. No
functionality change.
llvm-svn: 122035
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implicit lvalue-to-rvalue casts that John McCall
recently introduced. This causes a whole bunch
of logic in the analyzer for handling lvalues
to vanish. It does, however, raise a few issues
in the analyzer w.r.t to modeling various constructs
(e.g., field accesses to compound literals).
The .c/.m analysis test cases that fail are
due to a missing lvalue-to-rvalue cast that
will get introduced into the AST. The .cpp
failures were more than I could investigate in
one go, and the patch was already getting huge.
I have XFAILED some of these tests, and they
should obviously be further investigated.
Some highlights of this patch include:
- CFG no longer requires an lvalue bit for
CFGElements
- StackFrameContext doesn't need an 'asLValue'
flag
- The "VisitLValue" path from GRExprEngine has
been eliminated.
Besides the test case failures (XFAILed), there
are surely other bugs that are fallout from
this change.
llvm-svn: 121960
|
|
|
|
| |
llvm-svn: 121795
|
|
|
|
|
|
|
|
|
|
| |
space better. Remove this reference. To make that work, change some APIs
(most importantly, getDesugaredType()) to take an ASTContext& if they
need to return a QualType. Simultaneously, diminish the need to return a
QualType by introducing some useful APIs on SplitQualType, which is
just a std::pair<const Type *, Qualifiers>.
llvm-svn: 121478
|
|
|
|
|
|
| |
BinaryTypeTraitExpr.
llvm-svn: 121298
|
|
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121121
|
|
|
|
|
|
| |
New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics.
llvm-svn: 121074
|
|
|
|
|
|
| |
reason this is limited to C++, and it's certainly not limited to temporaries.
llvm-svn: 120996
|
|
|
|
| |
llvm-svn: 120970
|
|
|
|
|
|
|
| |
Environment::lookupExpr() and move its implementation
out-of-line.
llvm-svn: 120969
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used in a constructor initializer list:
struct X {
X() : au_i1(123) {}
union {
int au_i1;
float au_f1;
};
};
clang will now deal with au_i1 explicitly as an IndirectFieldDecl.
llvm-svn: 120900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not actually frequently used, because ImpCastExprToType only creates a node
if the types differ. So explicitly create an ICE in the lvalue-to-rvalue
conversion code in DefaultFunctionArrayLvalueConversion() as well as several
other new places, and consistently deal with the consequences throughout the
compiler.
In addition, introduce a new cast kind for loading an ObjCProperty l-value,
and make sure we emit those nodes whenever an ObjCProperty l-value appears
that's not on the LHS of an assignment operator.
This breaks a couple of rewriter tests, which I've x-failed until future
development occurs on the rewriter.
Ted Kremenek kindly contributed the analyzer workarounds in this patch.
llvm-svn: 120890
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 120873
|
|
|
|
|
|
|
|
|
| |
a node in the trimmed graph might not always
correctly map back to the original error node.
This could cause a crash in some cases when
flagging memory leaks.
llvm-svn: 120795
|
|
|
|
|
|
| |
when generating DOT output for an ExplodedGraph.
llvm-svn: 120794
|
|
|
|
| |
llvm-svn: 120783
|
|
|
|
|
|
|
|
| |
specified output file since
it just uses diagnostic notes.
llvm-svn: 120773
|
|
|
|
|
|
|
|
| |
diagnostic notes
the sequence of events; useful for testing.
llvm-svn: 120770
|
|
|
|
| |
llvm-svn: 120769
|
|
|
|
| |
llvm-svn: 120768
|
|
|
|
| |
llvm-svn: 120696
|
|
|
|
|
|
|
|
| |
ObjCPropertyRefExpr
into the latter.
llvm-svn: 120643
|
|
|
|
|
|
| |
to 'assumeXXX'.
llvm-svn: 120614
|
|
|
|
|
|
| |
'evalXXX'.
llvm-svn: 120609
|
|
|
|
|
|
| |
reflects what the class actually does.
llvm-svn: 120605
|
|
|
|
| |
llvm-svn: 120555
|
|
|
|
| |
llvm-svn: 120433
|
|
|
|
|
|
| |
about the reliability of this yet.
llvm-svn: 120422
|
|
|
|
| |
llvm-svn: 120297
|
|
|
|
| |
llvm-svn: 120178
|
|
|
|
| |
llvm-svn: 120177
|
|
|
|
| |
llvm-svn: 120176
|
|
|
|
| |
llvm-svn: 120173
|
|
|
|
| |
llvm-svn: 120172
|