| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
pseudo-destructor expressions. Also, clean up some
template-instantiation and type-checking issues with
pseudo-destructors.
llvm-svn: 126498
|
| |
|
|
| |
llvm-svn: 126497
|
| |
|
|
|
|
| |
aliases.
llvm-svn: 126496
|
| |
|
|
|
|
| |
range. Fixes four new failures in the GCC testsuite.
llvm-svn: 126495
|
| |
|
|
| |
llvm-svn: 126489
|
| |
|
|
|
|
| |
NestedNameSpecifierLoc handling.
llvm-svn: 126486
|
| |
|
|
|
|
| |
instantiation of using declarations (all three forms).
llvm-svn: 126485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations as referenced when in fact we're not going to even form
a call in the AST. This is significant because we attempt to allow as an
extension classes with intentionally private and undefined copy
constructors to have temporaries bound to references, and so shouldn't
warn about the lack of definition for that copy constructor when the
class is internal.
Doug, John wasn't really satisfied with the presence of overloading at
all. This is a stop-gap and there may be a better solution. If you can
give me some hints for how you'd prefer to see this solved, I'll happily
switch things over.
llvm-svn: 126480
|
| |
|
|
| |
llvm-svn: 126476
|
| |
|
|
| |
llvm-svn: 126475
|
| |
|
|
|
|
|
|
| |
necessarily enclose the innermost normal cleanup depth, because
the top of the jump scope stack might be an EH cleanup or EH scope.
Fixes PR9303.
llvm-svn: 126472
|
| |
|
|
|
|
|
| |
tag definitions. Also, add support for template instantiation of
NestedNameSpecifierLocs.
llvm-svn: 126470
|
| |
|
|
|
|
|
|
|
|
| |
warning flag for a warning mapped to an error.
For example:
t.c:7:9: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
llvm-svn: 126466
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
UnresolvedUsingValueDecl to use NestedNameSpecifierLoc rather than the
extremely-lossy NestedNameSpecifier/SourceRange pair it used to use,
improving source-location information.
Various infrastructure updates to support NestedNameSpecifierLoc:
- AST/PCH (de-)serialization
- Recursive AST visitor
- libclang traversal (including the first tests of this
functionality)
llvm-svn: 126459
|
| |
|
|
|
|
|
|
| |
static analyzer checkers.
This is pretty basic for now, eventually checkers should be grouped according to package, hidden checkers should be indicated etc.
llvm-svn: 126454
|
| |
|
|
|
|
|
|
|
|
|
| |
I tried to add test cases for these, but I can't because variables
aren't warned on the way functions are and the codegen layer appears to
use different logic for determining that 'a' and 'g' in the test case
should receive C mangling. I've included the test so that if we ever
switch the codegen layer to use these functions, we won't regress due to
latent bugs.
llvm-svn: 126453
|
| |
|
|
|
|
|
|
| |
never can be a real security issue.
Fixes PR 9314.
llvm-svn: 126447
|
| |
|
|
|
|
| |
have any checkers associated with it anymore.
llvm-svn: 126440
|
| |
|
|
|
|
|
| |
For example, if 'core.experimental.UnreachableCode' is hidden, it should not be enabled with 'core.experimental'.
Note that this requires llvm commit r126436.
llvm-svn: 126439
|
| |
|
|
| |
llvm-svn: 126438
|
| |
|
|
| |
llvm-svn: 126435
|
| |
|
|
|
|
| |
in PR9301.
llvm-svn: 126422
|
| |
|
|
|
|
|
| |
namespace blanket rule for variables and functions declared 'extern
"C"'.
llvm-svn: 126400
|
| |
|
|
|
|
|
|
|
|
|
|
| |
nested-name-specifiers throughout the parser, and provide a new class
(NestedNameSpecifierLoc) that contains a nested-name-specifier along
with its type-source information.
Right now, this information is completely useless, because we don't
actually store the source-location information anywhere in the
AST. Call this Step 1/N.
llvm-svn: 126391
|
| |
|
|
|
|
| |
Add an interface for last resort, unqualified lookup. It can provide results for unqualified lookup when Sema fails to find anything itself.
llvm-svn: 126387
|
| |
|
|
|
|
| |
layout", it broke some GCC tests.
llvm-svn: 126386
|
| |
|
|
|
|
| |
-analyzer-checker=cocoa,unix
llvm-svn: 126372
|
| |
|
|
| |
llvm-svn: 126371
|
| |
|
|
|
|
|
|
| |
terrible mistake.
If the state is new, make sure an ExplodedNode is associated with it.
llvm-svn: 126370
|
| |
|
|
| |
llvm-svn: 126369
|
| |
|
|
|
|
|
| |
_Bool is 1 bit, not 8. This fixes an assertion on the testcase, which is
PR9304 and rdar://9045501.
llvm-svn: 126368
|
| |
|
|
|
|
|
| |
magic integer arithmetic and allows it to work with types larger
than 64 bits.
llvm-svn: 126365
|
| |
|
|
|
|
|
| |
unneeded allocation of an empty StringLiteral when these don't have
a message.
llvm-svn: 126364
|
| |
|
|
|
|
|
|
|
| |
sure the branch always has two successors. Also teach Environment::getSVal() about OpaqueValueExprs.
This fixes a crash reported in PR9287, and also fixes a false positive involving the value of such ternary
expressions not properly getting propagated.
llvm-svn: 126362
|
| |
|
|
|
|
|
|
| |
way it keeps track of namespaces. Previously, we would map from the
namespace alias to its underlying namespace when building a
nested-name-specifier, losing source information in the process.
llvm-svn: 126358
|
| |
|
|
|
|
|
| |
methods, when they are known to be exact multiples of the width of the char
type.
llvm-svn: 126357
|
| |
|
|
| |
llvm-svn: 126356
|
| |
|
|
|
|
|
|
|
|
|
| |
with getter and setter methods in both bit units and CharUnits. This will help
simplify some of the unit mismatch in the parts of the code where sizes are
known to be exact multiples of the width of the char type.
Assertions in the getters help guard against accidentally converting to
CharUnits when sizes are not exact multiples of the char width.
llvm-svn: 126354
|
| |
|
|
| |
llvm-svn: 126352
|
| |
|
|
| |
llvm-svn: 126351
|
| |
|
|
| |
llvm-svn: 126350
|
| |
|
|
|
|
| |
nested-name-specifier and source range to be set at the same time.
llvm-svn: 126347
|
| |
|
|
|
|
|
|
|
| |
with another component in the nested-name-specifiers, updating its
representation (a NestedNameSpecifier) and source-location information
(currently a SourceRange) simultaneously. This is groundwork for
adding source-location information to nested-name-specifiers.
llvm-svn: 126346
|
| |
|
|
|
|
|
|
| |
don't seem to have been covered by our tests previously.
This should fix bootstrap failure.
llvm-svn: 126345
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expressions. Consider the code:
int64_t i = 10 << 30;
This compiles fine, but most developers expect it to produce the value
for 10 gigs, not -2 gigs. This is actually undefined behavior because
the LHS is a signed integer type.
The warning is currently gated behind -Wshift-overflow.
There is a special case where only the sign bit is overridden that gets
a custom error message and is by default ignored. This case is much less
likely to cause observed buggy behavior, it's just undefined behavior
according to the spec. This warning can be enabled with
-Wshift-sign-overflow.
Original patch by Oleg Slezberg, with style tweaks and some correctness
fixes by me.
llvm-svn: 126342
|
| |
|
|
| |
llvm-svn: 126341
|
| |
|
|
| |
llvm-svn: 126334
|
| |
|
|
| |
llvm-svn: 126333
|
| |
|
|
|
|
|
|
|
| |
-Introduce EndOfFunctionNodeBuilder::withCheckerTag to allow it be "specialized" with a
checker tag and not require the checkers to pass a tag.
-For EndOfFunctionNodeBuilder::generateNode, reverse the order of tag/P parameters since
there are actual calls that assume the second parameter is ExplodedNode.
llvm-svn: 126332
|
| |
|
|
| |
llvm-svn: 126331
|