| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
mostly because we're going to want a better diagnostic for conversions.
Also this API needs to go back to sanity.
llvm-svn: 94730
|
| |
|
|
| |
llvm-svn: 94725
|
| |
|
|
|
|
|
|
| |
This function will use the format string parsing logic in libAnalysis,
and once it is shown to be better than the current implementation it
will replace AlternateCheckPrintfString() entirely.
llvm-svn: 94721
|
| |
|
|
| |
llvm-svn: 94717
|
| |
|
|
| |
llvm-svn: 94707
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
sequences, where we would occasionally determine (incorrectly) that
one standard conversion sequence was a proper subset of another when,
in fact, they contained completely incomparable conversions.
This change records the types in each step within a standard
conversion sequence, so that we can check the specific comparison
types to determine when one sequence is a proper subset of the
other. Fixes this testcase (thanks, Anders!), which was distilled from
PR6095 (also thanks to Anders).
llvm-svn: 94660
|
| |
|
|
|
|
| |
using the same framework we use for deprecation warnings.
llvm-svn: 94659
|
| |
|
|
|
|
|
| |
diagnostics in "early" lookups, such as during typename checks and when building
unresolved lookup expressions.
llvm-svn: 94647
|
| |
|
|
| |
llvm-svn: 94531
|
| |
|
|
|
|
|
|
|
| |
This solution relies on an O(n) scan of redeclarations, which means it might
scale poorly in crazy cases with tons of redeclarations brought in by a ton
of distinct associated namespaces. I believe that avoiding this
is not worth the common-case cost.
llvm-svn: 94530
|
| |
|
|
|
|
|
|
|
|
| |
type when that type is 64 bits wide, and the 'long long' type when 'long' is
only 32 bits wide. This fixes PR6108.
Also adds a bunch of test cases to ensure proper conversion between equally
sized standard types and mode-specified types on both 32 and 64 bit targets.
llvm-svn: 94527
|
| |
|
|
|
|
| |
about interaction between ADL and default arguments. Shrug shoulders, commit.
llvm-svn: 94524
|
| |
|
|
|
|
| |
general refactoring in operator resolution.
llvm-svn: 94498
|
| |
|
|
| |
llvm-svn: 94485
|
| |
|
|
| |
llvm-svn: 94427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) libAnalysis is a generic analysis library that can be used by
Sema. It defines the CFG, basic dataflow analysis primitives, and
inexpensive flow-sensitive analyses (e.g. LiveVariables).
(2) libChecker contains the guts of the static analyzer, incuding the
path-sensitive analysis engine and domain-specific checks.
Now any clients that want to use the frontend to build their own tools
don't need to link in the entire static analyzer.
This change exposes various obvious cleanups that can be made to the
layout of files and headers in libChecker. More changes pending. :)
This change also exposed a layering violation between AnalysisContext
and MemRegion. BlockInvocationContext shouldn't explicitly know about
BlockDataRegions. For now I've removed the BlockDataRegion* from
BlockInvocationContext (removing context-sensitivity; although this
wasn't used yet). We need to have a better way to extend
BlockInvocationContext (and any LocationContext) to add
context-sensitivty.
llvm-svn: 94406
|
| |
|
|
| |
llvm-svn: 94379
|
| |
|
|
| |
llvm-svn: 94365
|
| |
|
|
| |
llvm-svn: 94361
|
| |
|
|
|
|
| |
unbalanced.
llvm-svn: 94347
|
| |
|
|
|
|
| |
the bug where array elements and member initializers weren't copied correctly.
llvm-svn: 94340
|
| |
|
|
| |
llvm-svn: 94335
|
| |
|
|
| |
llvm-svn: 94334
|
| |
|
|
| |
llvm-svn: 94333
|
| |
|
|
| |
llvm-svn: 94332
|
| |
|
|
| |
llvm-svn: 94329
|
| |
|
|
| |
llvm-svn: 94327
|
| |
|
|
|
|
| |
initialization code. Pass an InitializedEntity pointer through to most init checker functions. Right now, it's ignored everywhere except when initializing vectors in C++.
llvm-svn: 94325
|
| |
|
|
|
|
| |
Sema::PerformCopyInitialization overload.
llvm-svn: 94324
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 94316
|
| |
|
|
| |
llvm-svn: 94314
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incomplete type (or a pointer/reference to such).
The causes of this problem are different enough to justify a different "design"
for the diagnostic. Most notably, it doesn't give an operand index:
it's usually pretty obvious which operand is the problem, it adds a lot of
clutter to mention it, and the fix is usually in a different part of the file
anyway.
This is yet another diagnostic that should really have an analogue in the
non-overloaded case --- which should be much easier to write because of
the weaker space constraints.
llvm-svn: 94303
|
| |
|
|
|
|
| |
copy constructors) come first. Also, fix a bug where EK_New was left out of the err_init_conversion_failed diagnostic (It is now reported as 'new value'). Please review Doug :)
llvm-svn: 94289
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
quality of their
conversions. To make this work, fill out all conversions for all candidates
(but only when diagnosing overload failure). Split out a few cases from
ovl_fail_bad_conversion which didn't actually involve a failed argument
conversion.
I'm pretty sure this is not a well-founded ordering, but I'm not sure it matters.
llvm-svn: 94283
|
| |
|
|
|
|
| |
arrays and vectors are pretty different beasts in C++. Doug, please review/comment.
llvm-svn: 94279
|
| |
|
|
| |
llvm-svn: 94268
|
| |
|
|
|
|
| |
to mimic gcc's behavior. Fixes radar 7400691.
llvm-svn: 94246
|
| |
|
|
|
|
| |
lookup. Fixes radar 7562438.
llvm-svn: 94191
|
| |
|
|
|
|
| |
trying to override a function returning an lvalue reference with a function overriding an rvalue reference.
llvm-svn: 94183
|
| |
|
|
|
|
|
|
|
| |
when checking for covariance. Added some fun test cases, fixes PR6110.
This felt obvious enough to just commit. ;] Let me know if anything needs
tweaking.
llvm-svn: 94173
|
| |
|
|
| |
llvm-svn: 94136
|
| |
|
|
|
|
|
|
|
| |
translation unit. This is temporary for function and block parameters;
template parameters can just stay this way, since Templates aren't
DeclContexts. This gives us the nice property that everything created
in a record DC should have access in C++.
llvm-svn: 94122
|
| |
|
|
| |
llvm-svn: 94118
|
| |
|
|
|
|
| |
dead array references.
llvm-svn: 94115
|
| |
|
|
|
|
| |
in C++.
llvm-svn: 94106
|
| |
|
|
| |
llvm-svn: 94094
|
| |
|
|
| |
llvm-svn: 94093
|
| |
|
|
|
|
| |
Fixes radar 7562952.
llvm-svn: 94087
|
| |
|
|
|
|
| |
assignments.
llvm-svn: 94086
|
| |
|
|
|
|
| |
unary operators.
llvm-svn: 94084
|