| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
The double error is unfortunate, but I really don't see an alternative whose effort is worth it.
llvm-svn: 150317
|
| |
|
|
|
|
|
|
| |
thing in cases involving array new.
Show that many cases using initializer list constructors work, in that they parse and pass semantic analysis.
llvm-svn: 150316
|
| |
|
|
|
|
|
| |
a pointer cannot escape through calls to system functions. Also, stop
after reporting the first use-after-free.
llvm-svn: 150315
|
| |
|
|
|
|
|
|
|
| |
memory.
(As per one test case, the existing checker thought that this could
cause a lot of false positives - not sure if that's valid, to be
verified.)
llvm-svn: 150313
|
| |
|
|
|
|
|
| |
Resolves a common false positive, where we were reporting a leak inside
asserts
llvm-svn: 150312
|
| |
|
|
|
|
| |
We use the same logic here as the RetainRelease checker.
llvm-svn: 150311
|
| |
|
|
|
|
|
| |
cv-unqualified type. This is essential in order to allow move-only objects of
const-qualified types to be copy-initialized via a converting constructor.
llvm-svn: 150309
|
| |
|
|
|
|
| |
before complaining that it's incomplete.
llvm-svn: 150308
|
| |
|
|
| |
llvm-svn: 150306
|
| |
|
|
|
|
| |
Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>.
llvm-svn: 150295
|
| |
|
|
|
|
| |
double-check that this is correct.)
llvm-svn: 150292
|
| |
|
|
|
|
|
| |
a reference for the instantiation decl. Also test that its location is correct
after previous commit.
llvm-svn: 150291
|
| |
|
|
|
|
| |
recursive capture. This is far more interesting for IRgen.
llvm-svn: 150283
|
| |
|
|
|
|
| |
default arguments if in fact those lambdas capture any entity.
llvm-svn: 150282
|
| |
|
|
| |
llvm-svn: 150276
|
| |
|
|
|
|
|
|
|
|
| |
When creating the MCSubtargetInfo, the assembler driver uses the CPU and
feature string to construct a more accurate model of what instructions
are and are not legal.
rdar://10840476
llvm-svn: 150273
|
| |
|
|
| |
llvm-svn: 150268
|
| |
|
|
|
|
| |
Fixes <rdar://problem/8269537>.
llvm-svn: 150260
|
| |
|
|
|
|
|
|
|
|
|
|
| |
default is '=', and reword the warning about explicitly capturing
'this' in such lambdas to indicate that only explicit capture is
banned.
Introduce Fix-Its for this and other "save the programmer from
themself" rules regarding what can be explicitly captured and what
must be implicitly captured.
llvm-svn: 150256
|
| |
|
|
|
|
|
|
| |
nested captures. We currently don't get odr-use correct in array
bounds, so that bit is commented out while we sort out what we need to
do.
llvm-svn: 150255
|
| |
|
|
|
|
|
|
| |
have finished parsing the body, so that name lookup will never find
anything within the closure type. Then, add this operator() and the
conversion function (if available) before completing the class.
llvm-svn: 150252
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Correct the handling of the restrictions on usage of cv-qualified and
ref-qualified function types.
o Fix a bug where such types were rejected in template type parameter default
arguments, due to such arguments not being treated as a template type arg
context.
o Remove the ExtWarn for usage of such types as template arguments; that was
a standard defect, not a GCC extension.
o Improve the wording and unify the code for diagnosing cv-qualifiers with the
code for diagnosing ref-qualifiers.
llvm-svn: 150244
|
| |
|
|
| |
llvm-svn: 150243
|
| |
|
|
| |
llvm-svn: 150242
|
| |
|
|
|
|
|
|
|
|
|
| |
to pretty-print such function types better, and to fix a case where we were not
instantiating templates in lexical order. In passing, move the Variadic bit from
Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits.
Also ensure that we always substitute the return type of a function when
substituting explicitly-specified arguments, since that can cause us to bail
out with a SFINAE error before we hit a hard error in parameter substitution.
llvm-svn: 150241
|
| |
|
|
| |
llvm-svn: 150240
|
| |
|
|
| |
llvm-svn: 150239
|
| |
|
|
|
|
|
|
|
|
| |
This changes function prolog in such a way as to avoid out-of-bounds
stack store in the case when coerce-to type has a larger storage size
than the real argument type.
Fixes PR11905.
llvm-svn: 150238
|
| |
|
|
|
|
|
| |
expression. Implement C++11 [expr.prim.lambda]p12's requirement that
capturing a variable will odr-use it.
llvm-svn: 150237
|
| |
|
|
|
|
| |
per C++ [expr.prim.lambda]p6.
llvm-svn: 150236
|
| |
|
|
|
|
|
| |
incomplete class type which has an overloaded operator&, it's now just
unspecified whether the overloaded operator or the builtin is used.
llvm-svn: 150234
|
| |
|
|
|
|
|
|
|
| |
used so profusely
in many APIs and large codebases that this made the deprecated warning trigger happy to
the point of not being useful.
llvm-svn: 150223
|
| |
|
|
|
|
| |
the same way we do for non-template classes. <rdar://problem/10791194>.
llvm-svn: 150221
|
| |
|
|
|
|
| |
the checker over postgres and sqlite.
llvm-svn: 150216
|
| |
|
|
|
|
| |
(use of return instead of continue), wording.
llvm-svn: 150215
|
| |
|
|
| |
llvm-svn: 150209
|
| |
|
|
|
|
| |
properly support them.
llvm-svn: 150207
|
| |
|
|
|
|
|
|
| |
has been declared in its primary class, superclass,
or in one of their protocols, no need to issue unimplemented method.
// rdar://10823023
llvm-svn: 150206
|
| |
|
|
|
|
| |
checking. Fixes PR10620 / <rdar://problem/9958362> .
llvm-svn: 150204
|
| |
|
|
|
|
|
| |
Double fields of by-value class objects should be passed in floating point
registers.
llvm-svn: 150200
|
| |
|
|
|
|
| |
class objects follow the same rules as those returning struct objects.
llvm-svn: 150196
|
| |
|
|
|
|
| |
list; it is not an expression.
llvm-svn: 150194
|
| |
|
|
| |
llvm-svn: 150193
|
| |
|
|
| |
llvm-svn: 150192
|
| |
|
|
|
|
| |
semantics.
llvm-svn: 150190
|
| |
|
|
|
|
|
|
|
| |
[expr.prim.lambda]p4, including the current suggested resolution of
core isue 975, which allows multiple return statements so long as the
types match. ExtWarn when user code is actually making use of this
extension.
llvm-svn: 150168
|
| |
|
|
|
|
| |
and rapidly becoming untrue.
llvm-svn: 150165
|
| |
|
|
|
|
| |
[expr.prim.lambda].
llvm-svn: 150164
|
| |
|
|
|
|
|
| |
unevaluated operands. Be certain that we're marking everything
referenced within a capture initializer as odr-used.
llvm-svn: 150163
|
| |
|
|
|
|
|
|
|
|
|
| |
difference in the qual type. This is a workaround for the fact that
the type isn't artificial but the this decl is, however, we don't
have any way of representing it in the current metadata. For now,
however, just don't cache the full type.
Fixes rdar://10831526 and probably a couple of others.
llvm-svn: 150159
|