| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
by making it a static function within GRExprEngine.cpp.
llvm-svn: 89884
|
|
|
|
|
|
| |
manually in AnalysisConsumer.cpp.
llvm-svn: 89883
|
|
|
|
| |
llvm-svn: 89858
|
|
|
|
| |
llvm-svn: 89856
|
|
|
|
|
|
| |
The attributes are currently ignored.
llvm-svn: 89837
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cleanups for while loops:
1) Make sure that we destroy the condition variable of a while statement each time through the loop for, e.g.,
while (shared_ptr<WorkInt> p = getWorkItem()) {
// ...
}
2) Make sure that we always enter a new cleanup scope for the body of the while loop, even when there is no compound expression, e.g.,
while (blah)
RAIIObject raii(blah+1);
llvm-svn: 89800
|
|
|
|
|
|
|
| |
make sure that this variable is destroyed when we exit the switch
statement.
llvm-svn: 89776
|
|
|
|
|
|
|
|
|
| |
rather than burying it in a CXXConditionDeclExpr (that occassionally
hides behind implicit conversions). Similar changes for
switch, while, and do-while will follow, then the removal of
CXXConditionDeclExpr. This commit is the canary.
llvm-svn: 89717
|
|
|
|
| |
llvm-svn: 89716
|
|
|
|
|
|
| |
failed tests.
llvm-svn: 89677
|
|
|
|
|
|
|
| |
*) the ../backward dir is the last in libstdc++ to be searched
*) If compiling c++, the c++ headers are searched first
llvm-svn: 89661
|
|
|
|
|
|
| |
DeclRefExprs
llvm-svn: 89649
|
|
|
|
| |
llvm-svn: 89629
|
|
|
|
| |
llvm-svn: 89597
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
type and fixes a long-standing code gen. crash reported in
at least two PRs and a radar. (radar 7405040 and pr5025).
There are couple of remaining issues that I would like for
Ted. and Doug to look at:
Ted, please look at failure in Analysis/MissingDealloc.m.
I have temporarily added an expected-warning to make the
test pass. This tests has a declaration of 'SEL' type which
may not co-exist with the new changes.
Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp.
I think the changes which I have ifdef'ed out are correct. They
need be considered for in a few Indexer/PCH test cases.
llvm-svn: 89561
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following attributes are currently supported in C++0x attribute
lists (and in GNU ones as well):
- align() - semantics believed to be conformant to n3000, except for
redeclarations and what entities it may apply to
- final - semantics believed to be conformant to CWG issue 817's proposed
wording, except for redeclarations
- noreturn - semantics believed to be conformant to n3000, except for
redeclarations
- carries_dependency - currently ignored (this is an optimization hint)
llvm-svn: 89543
|
|
|
|
|
|
| |
platform SDK path
llvm-svn: 89517
|
|
|
|
|
|
| |
output file failed.
llvm-svn: 89502
|
|
|
|
| |
llvm-svn: 89464
|
|
|
|
|
|
| |
errors.
llvm-svn: 89388
|
|
|
|
| |
llvm-svn: 89353
|
|
|
|
|
|
| |
stdint.h.
llvm-svn: 89348
|
|
|
|
| |
llvm-svn: 89346
|
|
|
|
|
|
|
| |
__INTPTR_TYPE__ as the last is used in the test/CodeGen/const-init.c and all
could potentially be in use in the wild. My apologies.
llvm-svn: 89345
|
|
|
|
|
|
| |
replaced with __PTRDIFF_WIDTH__.
llvm-svn: 89344
|
|
|
|
| |
llvm-svn: 89342
|
|
|
|
|
|
| |
__INTPTR_WIDTH__ instead.
llvm-svn: 89340
|
|
|
|
| |
llvm-svn: 89333
|
|
|
|
|
|
|
|
| |
the argument is given.
Also, tweak Opt.Sysroot defaulting.
llvm-svn: 89318
|
|
|
|
|
|
| |
Also, tweak a few help strings and update CompilerInvocation serialization for prev change.
llvm-svn: 89317
|
|
|
|
| |
llvm-svn: 89231
|
|
|
|
|
|
| |
longer used by stdint.h.
llvm-svn: 89230
|
|
|
|
|
|
| |
remove random FIXME (?).
llvm-svn: 89229
|
|
|
|
|
|
| |
stdint.h.
llvm-svn: 89203
|
|
|
|
|
|
| |
@class.
llvm-svn: 89170
|
|
|
|
|
|
| |
Action::ActOnForwardClassDeclaration().
llvm-svn: 89162
|
|
|
|
| |
llvm-svn: 89100
|
|
|
|
| |
llvm-svn: 89098
|
|
|
|
|
|
| |
predictable.
llvm-svn: 89074
|
|
|
|
|
|
| |
-fnext-runtime), instead of using getDefaultLangOptions.
llvm-svn: 89058
|
|
|
|
| |
llvm-svn: 89051
|
|
|
|
|
|
|
|
| |
CompilerInvocation into a list of arguments which can be passed to clang-cc (eventually, clang -cc1).
- Unfortunately, this is currently a tedious and manual translation. Eventually it would be nice to automatically generate this code.
llvm-svn: 89049
|
|
|
|
| |
llvm-svn: 89047
|
|
|
|
|
|
| |
HeaderSearchOptions::Entry.
llvm-svn: 89035
|
|
|
|
|
|
| |
language dependent.
llvm-svn: 88981
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sugared types. The basic problem is that our qualifier accessors
(getQualifiers, getCVRQualifiers, isConstQualified, etc.) only look at
the current QualType and not at any qualifiers that come from sugared
types, meaning that we won't see these qualifiers through, e.g.,
typedefs:
typedef const int CInt;
typedef CInt Self;
Self.isConstQualified() currently returns false!
Various bugs (e.g., PR5383) have cropped up all over the front end due
to such problems. I'm addressing this problem by splitting each
qualifier accessor into two versions:
- the "local" version only returns qualifiers on this particular
QualType instance
- the "normal" version that will eventually combine qualifiers from this
QualType instance with the qualifiers on the canonical type to
produce the full set of qualifiers.
This commit adds the local versions and switches a few callers from
the "normal" version (e.g., isConstQualified) over to the "local"
version (e.g., isLocalConstQualified) when that is the right thing to
do, e.g., because we're printing or serializing the qualifiers. Also,
switch a bunch of
Context.getCanonicalType(T1).getUnqualifiedType() == Context.getCanonicalType(T2).getQualifiedType()
expressions over to
Context.hasSameUnqualifiedType(T1, T2)
llvm-svn: 88969
|
|
|
|
| |
llvm-svn: 88945
|