| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
which may belong to unrelated classes. It was
primarily intended for miuse of @selector expression.
But warning is too noisy and will be issued when
an actual @selector is used. // rdar://15740134
llvm-svn: 198952
|
| |
|
|
|
|
| |
the warning will not trigger on code protected by compile time checks.
llvm-svn: 198913
|
| |
|
|
|
|
|
|
|
| |
property has the naming convention that implies 'ownership'.
2) improve on diagnostic and make it property specific.
3) fix the line number in the case of default property
synthesis. // rdar://15757510
llvm-svn: 198905
|
| |
|
|
|
|
| |
the parsed attributes are responsible for knowing their target-specific nature, instead of letting Sema figure it out. This is necessary so that __has_attribute can eventually determine whether a parsed attribute applies to the given target or not.
llvm-svn: 198896
|
| |
|
|
|
|
|
|
|
|
| |
Fixes <rdar://problem/15596883>
In ARC, __attribute__((objc_precise_lifetime)) guarantees that the
object stored in it will survive to the end of the variable's formal
lifetime. It is therefore useful even if it completely unused.
llvm-svn: 198888
|
| |
|
|
|
|
| |
rdar://15779837.
llvm-svn: 198856
|
| |
|
|
|
|
|
| |
issue 1430. Don't allow a pack expansion to be used as an argument to an alias
template unless the corresponding parameter is a parameter pack.
llvm-svn: 198833
|
| |
|
|
|
|
| |
Patch reviewed by Rafael Espindola.
llvm-svn: 198765
|
| |
|
|
| |
llvm-svn: 198741
|
| |
|
|
| |
llvm-svn: 198723
|
| |
|
|
|
|
|
|
| |
type-specifier in C++. Some checks will assert in this case otherwise (in
particular, the access specifier may be missing if this happens inside a class
definition, due to a violation of an AST invariant).
llvm-svn: 198721
|
| |
|
|
|
|
|
| |
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
|
| |
|
|
|
|
|
|
|
|
| |
are vector types
and add a diagnostic when the operand is a vector and non-scalar value.
rdar://15722301
llvm-svn: 198680
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
enum-scoped.cpp:93:6: error: enumeration redeclared with different underlying type 'short' (was 'int')
enum Redeclare6 : short;
^
enum-scoped.cpp:92:6: note: previous declaration is here
enum Redeclare6 : int;
^ ~~~
The redeclaration source range is still missing but this is a step forward,
potentially edging towards a FixIt.
llvm-svn: 198601
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In all three checks, the note indicates a previous declaration and never a 'use'.
Before:
enum-scoped.cpp:92:6: note: previous use is here
enum Redeclare6 : int;
^
After:
enum-scoped.cpp:92:6: note: previous declaration is here
enum Redeclare6 : int;
^
llvm-svn: 198600
|
| |
|
|
|
|
| |
type of a function.
llvm-svn: 198597
|
| |
|
|
| |
llvm-svn: 198549
|
| |
|
|
|
|
|
|
| |
It was previously enabled in both but should only have been part of the drop-in
quirks mode that is 'MicrosoftMode' given that it's only useful for
compatibility with the Microsoft headers/runtime.
llvm-svn: 198548
|
| |
|
|
|
|
|
|
|
|
|
| |
Instead of keeping it in amongst the macros, build the declaration at Sema init
the same way we do with other predeclared and builtin types.
In practice this means the declaration is marked implicit and therefore won't
show up as an unwanted user-declared type in tooling which has been a
frequently reported issue (though I haven't been able to cook up a test).
llvm-svn: 198497
|
| |
|
|
|
|
|
|
|
|
|
| |
consideration the num-of-elements*width-of-element width.
Disallow casts when such width is not equal between the vector types otherwise
we may end up with an invalid LLVM bitcast.
rdar://15722308.
llvm-svn: 198474
|
| |
|
|
|
|
| |
functions like Foo<5>::run() the same way as run<5>() for this warning.
llvm-svn: 198470
|
| |
|
|
| |
llvm-svn: 198444
|
| |
|
|
| |
llvm-svn: 198442
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
warning.
- Remove the additions to ObjCMethodDecl & ObjCIVarDecl that were getting de/serialized and consolidate
all functionality for the checking for this warning in Sema::DiagnoseUnusedBackingIvarInAccessor
- Don't check immediately after the method body is finished, check when the @implementation is finished.
This is so we can see if the ivar was referenced by any other method, even if the method was defined after the accessor.
- Don't silence the warning if any method is called from the accessor silence it if the accessor delegates to another method via self.
rdar://15727325
llvm-svn: 198432
|
| |
|
|
|
|
| |
how to handle Attr objects directly. Updates an associated test case due to the attribute name being properly quoted again.
llvm-svn: 198424
|
| |
|
|
|
|
| |
functional changes intended.
llvm-svn: 198421
|
| |
|
|
| |
llvm-svn: 198420
|
| |
|
|
|
|
| |
NestedNameSpecifier.
llvm-svn: 198419
|
| |
|
|
| |
llvm-svn: 198418
|
| |
|
|
| |
llvm-svn: 198417
|
| |
|
|
| |
llvm-svn: 198416
|
| |
|
|
|
|
|
|
| |
unneeded typecasts. getScopeRep() already returns a NestedNameSpecifier.
No functional changes intended.
llvm-svn: 198414
|
| |
|
|
|
|
| |
NestedNameSpecifier.
llvm-svn: 198413
|
| |
|
|
|
|
| |
related test case to ensure correctness.
llvm-svn: 198412
|
| |
|
|
| |
llvm-svn: 198395
|
| |
|
|
| |
llvm-svn: 198392
|
| |
|
|
| |
llvm-svn: 198391
|
| |
|
|
| |
llvm-svn: 198387
|
| |
|
|
|
|
| |
already knows how it was spelled.
llvm-svn: 198375
|
| |
|
|
|
|
| |
Updated the associated testcase because QualType pretty printing was an improvement.
llvm-svn: 198372
|
| |
|
|
| |
llvm-svn: 198371
|
| |
|
|
|
|
|
| |
backing ivar by not issuing this warning if ivar is referenced
somewhere and accessor makes method calls. // rdar://15727325
llvm-svn: 198367
|
| |
|
|
|
|
| |
engine knows how to handle NamedDecl objects.
llvm-svn: 198365
|
| |
|
|
|
|
| |
the offending attribute name. Also updates the associated test cases.
llvm-svn: 198355
|
| |
|
|
|
|
|
|
| |
__unsafe_unretained.
Fixes <rdar://problem/15713945>.
llvm-svn: 198343
|
| |
|
|
|
|
|
| |
property accessor's missing backing ivar. This eliminates
the bogus warning being issued. // rdar://15728901
llvm-svn: 198322
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Remove UnaryTypeTraitExpr and switch all remaining type trait related handling
over to TypeTraitExpr.
The UTT/BTT/TT enum prefix and evaluation code is retained pending further
cleanup.
This is part of the ongoing work to unify type traits following the removal of
BinaryTypeTraitExpr in r197273.
llvm-svn: 198271
|
| |
|
|
|
|
| |
Patch by joey.gouly@arm.com
llvm-svn: 198264
|
| |
|
|
|
|
|
|
| |
This better describes what the function does.
Cleanup only.
llvm-svn: 198127
|
| |
|
|
|
|
| |
manually quote. No functional changes intended.
llvm-svn: 198076
|