| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
ExprEngine::VisitIncrementDecrementOperator().
llvm-svn: 150511
|
| |
|
|
|
|
|
| |
C++11 or just C++17, restrict the set of null pointer constants in C++11 mode
back to those which were considered null in C++98.
llvm-svn: 150510
|
| |
|
|
| |
llvm-svn: 150509
|
| |
|
|
|
|
| |
UO_Extension.
llvm-svn: 150506
|
| |
|
|
| |
llvm-svn: 150505
|
| |
|
|
|
|
| |
needed because the CFG is fully linearized.
llvm-svn: 150504
|
| |
|
|
| |
llvm-svn: 150503
|
| |
|
|
|
|
|
| |
used to construct an object of union type with a deleted default constructor
(plus fixes for some related value-initialization corner cases).
llvm-svn: 150502
|
| |
|
|
|
|
| |
Based on a patch by Vasiliy Korchagin!
llvm-svn: 150500
|
| |
|
|
|
|
|
| |
metadata for protocol definitions used on
class qualifiers.
llvm-svn: 150498
|
| |
|
|
|
|
| |
[&values...] { print(values...); }
llvm-svn: 150497
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace the simple Levenshtein edit distance for typo correction
candidates--and the hacky way adding namespace qualifiers would affect
the edit distance--with a synthetic "edit distance" comprised of several
factors and their relative weights. This also allows the typo correction
callback object to convey more information about the viability of a
correction candidate than simply viable or not viable.
llvm-svn: 150495
|
| |
|
|
| |
llvm-svn: 150493
|
| |
|
|
| |
llvm-svn: 150491
|
| |
|
|
| |
llvm-svn: 150490
|
| |
|
|
|
|
|
|
|
|
| |
And remove HAVE_CLANG_CONFIG_H, now that the header is generated
in the autoconf build, too.
Reverts r149571/restores r149504, now that config.h is generated
correctly by LLVM's configure in all build configurations.
llvm-svn: 150487
|
| |
|
|
| |
llvm-svn: 150475
|
| |
|
|
|
|
| |
Signed off by Richard Smith.
llvm-svn: 150464
|
| |
|
|
| |
llvm-svn: 150461
|
| |
|
|
| |
llvm-svn: 150459
|
| |
|
|
| |
llvm-svn: 150458
|
| |
|
|
|
|
|
|
|
| |
clang_getDiagnosticSetFromTU() as
child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now
match with those generated for serialized diagnostics.
llvm-svn: 150456
|
| |
|
|
|
|
|
|
|
| |
pulled into DiagnosticNoteRenderer, and common DiagnosticRenderer that
assumes that all custom diagnostic messages are notes. Also extend
DiagnosticRenderer to work with StoredDiagnostics in preparation for
subsequent changes.
llvm-svn: 150455
|
| |
|
|
| |
llvm-svn: 150454
|
| |
|
|
|
|
|
|
|
|
| |
the instantiation of a constexpr function temploid is now always constexpr, a
defaulted constexpr function temploid is often ill-formed by the rule in
[dcl.fct.def.default]p2 that an explicitly-defaulted constexpr function must
have a constexpr implicit definition. To avoid making loads of completely
reasonable code ill-formed, do not apply that rule to templates.
llvm-svn: 150453
|
| |
|
|
| |
llvm-svn: 150452
|
| |
|
|
|
|
| |
EmitMemberInitializer. The new function will be used to initialize the fields of lambda expressions.
llvm-svn: 150451
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
in realloc map.
If there is no dependency, the reallocated ptr will get garbage
collected before we know that realloc failed, which would lead us to
missing a memory leak warning.
Also added new test cases, which we can handle now.
Plus minor cleanups.
llvm-svn: 150446
|
| |
|
|
|
|
| |
copy-capturing in lambdas
llvm-svn: 150442
|
| |
|
|
|
|
|
|
| |
expression with the original call operator, so that we don't try to
separately instantiate the call operator. Test and tweak a few more
bits for template instantiation of lambda expressions.
llvm-svn: 150440
|
| |
|
|
| |
llvm-svn: 150435
|
| |
|
|
|
|
|
|
|
|
|
| |
constructor, and that constructor is used to initialize an object of static
storage duration such that all members and bases are initialized by constant
expressions, constant initialization is performed. In this case, the object
can still have a non-trivial destructor, and if it does, we must emit a dynamic
initializer which performs no initialization and instead simply registers that
destructor.
llvm-svn: 150419
|
| |
|
|
| |
llvm-svn: 150418
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expressions. This is mostly a simple refact, splitting the main "start
a lambda expression" function into smaller chunks that are driven
either from the parser (Sema::ActOnLambdaExpr) or during AST
transformation (TreeTransform::TransformLambdaExpr). A few minor
interesting points:
- Added new entry points for TreeTransform, so that we can
explicitly establish the link between the lambda closure type in the
template and the lambda closure type in the instantiation.
- Added a bit into LambdaExpr specifying whether it had an explicit
result type or not. We should have had this anyway.
This code is 'lightly' tested.
llvm-svn: 150417
|
| |
|
|
| |
llvm-svn: 150415
|
| |
|
|
| |
llvm-svn: 150413
|
| |
|
|
|
|
| |
case when size is 0.
llvm-svn: 150412
|
| |
|
|
|
|
| |
Diagnostic*.td files but not used in sources.
llvm-svn: 150410
|
| |
|
|
| |
llvm-svn: 150409
|
| |
|
|
|
|
| |
functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary.
llvm-svn: 150408
|
| |
|
|
| |
llvm-svn: 150407
|
| |
|
|
|
|
| |
into a c-type which closely matches the objective-c type.
llvm-svn: 150406
|
| |
|
|
|
|
|
|
|
| |
-arch options if the're all the same.
Patch by Jeremy Huddleston.
rdar://10849701
llvm-svn: 150403
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Support the case when realloc fails to reduce False Positives. (We
essentially need to restore the state of the pointer being reallocated.)
2) Realloc behaves differently under special conditions (from pointer is
null, size is 0). When detecting these cases, we should consider
under-constrained states (size might or might not be 0). The
old version handled this in a very hacky way. The code did not
differentiate between definite and possible (no consideration for
under-constrained states). Further, after processing each special case,
the realloc processing function did not return but chained to the next
special case processing. So you could end up in an execution in which
you first see the states in which size is 0 and realloc ~ free(),
followed by the states corresponding to size is not 0 followed by the
evaluation of the regular realloc behavior.
llvm-svn: 150402
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CXXRecordDecl in a way that actually makes some sense:
- LambdaExpr contains all of the information for initializing the
lambda object, including the capture initializers and associated
array index variables.
- CXXRecordDecl's LambdaDefinitionData contains the captures, which
are needed to understand the captured variable references in the
body of the lambda.
llvm-svn: 150401
|
| |
|
|
|
|
|
| |
synthesize a by-copy captured array in a lambda. This information will
be needed by IR generation.
llvm-svn: 150396
|
| |
|
|
|
|
| |
expressions
llvm-svn: 150394
|
| |
|
|
|
|
|
|
| |
LambdaExpr over to the CXXRecordDecl. This allows us to eliminate the
back-link from the closure type to the LambdaExpr, which will simplify
and lazify AST deserialization.
llvm-svn: 150393
|
| |
|
|
| |
llvm-svn: 150390
|
| |
|
|
|
|
| |
PR11970.
llvm-svn: 150389
|