| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Reviewed at http://llvm-reviews.chandlerc.com/D3096
llvm-svn: 205008
|
| |
|
|
|
|
|
| |
an opt-in option under -Wselector-type-mismatch.
// rdar://16445728
llvm-svn: 204965
|
| |
|
|
|
|
|
|
| |
This commit also adds an additional test case for the global destructor warning.
Reviewed in http://llvm-reviews.chandlerc.com/D3205
llvm-svn: 204954
|
| |
|
|
|
|
|
|
|
| |
cannot be a pointer to the private address space (as clarified
in the OpenCL 1.2 specification).
Patch by Fraser Cormack!
llvm-svn: 204941
|
| |
|
|
|
|
| |
the type of the variable until it's known.
llvm-svn: 204887
|
| |
|
|
|
|
|
|
| |
selectors because we were not going through entire
elements in list of all implemented selectors.
// rdar://16428638
llvm-svn: 204852
|
| |
|
|
|
|
| |
Fixes PR19253.
llvm-svn: 204825
|
| |
|
|
|
|
|
|
|
|
| |
The main difference between __va_start and __builtin_va_start is that
the address of the va_list has already been taken, and the va_list is
always a char*.
__va_end and __va_arg are not needed.
llvm-svn: 204821
|
| |
|
|
|
|
| |
in a lambda capture.
llvm-svn: 204757
|
| |
|
|
|
|
|
|
|
| |
If there are any scope specifiers, then a base class must be named or
the symbol isn't from a base class.
Fixes PR19233.
llvm-svn: 204753
|
| |
|
|
|
|
| |
as a structure declaration. This allows for C code to use Boolean expressions on a capability as part of another attribute. Eg) __attribute__((requires_capability(!SomeCapability)))
llvm-svn: 204657
|
| |
|
|
|
|
|
| |
dllimport implies a definition which means the 'extern' keyword is optional
when declaring imported variables.
llvm-svn: 204576
|
| |
|
|
| |
llvm-svn: 204569
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
found with a smarter version of -Wunused-member-function that I'm playwing with.
Appologies in advance if I removed someone's WIP code.
ARCMigrate/TransProperties.cpp | 8 -----
AST/MicrosoftMangle.cpp | 1
Analysis/AnalysisDeclContext.cpp | 5 ---
Analysis/LiveVariables.cpp | 14 ----------
Index/USRGeneration.cpp | 10 -------
Sema/Sema.cpp | 33 +++++++++++++++++++++---
Sema/SemaChecking.cpp | 3 --
Sema/SemaDecl.cpp | 20 ++------------
StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 1
9 files changed, 34 insertions(+), 61 deletions(-)
llvm-svn: 204561
|
| |
|
|
|
|
|
|
| |
specialization from a module. (This can also happen for function template
specializations in PCHs if they're instantiated eagerly, because they're
constexpr or have a deduced return type.)
llvm-svn: 204547
|
| |
|
|
|
|
| |
appropriate place, so that we only ask the external source once.
llvm-svn: 204535
|
| |
|
|
|
|
| |
performing typo correction on very short (1 or 2 char) identifiers.
llvm-svn: 204525
|
| |
|
|
| |
llvm-svn: 204524
|
| |
|
|
|
|
| |
NUM_OPENMP_DEFAULT_KINDS <= 1.
llvm-svn: 204487
|
| |
|
|
|
|
| |
release_generic_capability functions are now functionally distinct for capability analysis. The unlock_function attribute maps directly to release_generic_capability.
llvm-svn: 204469
|
| |
|
|
|
|
| |
expressions of loops.
llvm-svn: 204430
|
| |
|
|
| |
llvm-svn: 204428
|
| |
|
|
|
|
| |
resolved, emit an update record.
llvm-svn: 204403
|
| |
|
|
|
|
|
|
| |
unlock_function attributes with the acquire_capability and release_capability attributes. The old spellings will continue to work, but the underlying semantic attributes have been replaced.
Downgraded the capability diagnostics from error to warning to match the desired behavior, and updated the existing test cases.
llvm-svn: 204350
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nontrivial returns.
The exception is return statements that include control-flow,
which are clearly doing something "interesting".
99% of the cases I examined for -Wunreachable-code that fired
on return statements were not interesting enough to warrant
being in -Wunreachable-code by default. Thus the move to
include them in -Wunreachable-code-return.
This simplifies a bunch of logic, including removing the ad hoc
logic to look for std::string literals.
llvm-svn: 204307
|
| |
|
|
|
|
| |
Patch by Zach Davis!
llvm-svn: 204300
|
| |
|
|
|
|
|
|
|
| |
"No need to issue deprecated warning if deprecated method
in class extension is being implemented in primary class implementation
(no overriding is involved).
// rdar://16249335". No functionality change.
llvm-svn: 204159
|
| |
|
|
| |
llvm-svn: 204143
|
| |
|
|
| |
llvm-svn: 204135
|
| |
|
|
|
|
|
|
| |
in class extension is being implemented in primary class implementation
(no overriding is involved).
// rdar://16249335
llvm-svn: 204093
|
| |
|
|
|
|
|
|
| |
warnings (warning or lack there of) as well since
blocks are another pattern for envoking other
designated initializers. // rdar://16323233
llvm-svn: 204081
|
| |
|
|
|
|
|
|
| |
class method with the same selctor but different argument
types having one of them in class extension.
// rdar://16312105
llvm-svn: 204065
|
| |
|
|
|
|
| |
using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives().
llvm-svn: 204061
|
| |
|
|
|
|
| |
using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
llvm-svn: 204053
|
| |
|
|
|
|
| |
iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
llvm-svn: 204052
|
| |
|
|
|
|
| |
qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204048
|
| |
|
|
|
|
| |
iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204047
|
| |
|
|
|
|
| |
exception_end() with iterator_range exceptions(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204046
|
| |
|
|
|
|
| |
param_type_end() with iterator_range param_types(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204045
|
| |
|
|
|
|
| |
iterator_range body(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 204040
|
| |
|
|
|
|
| |
initializer with the variable in order to determine the type.
llvm-svn: 204015
|
| |
|
|
|
|
|
|
|
|
| |
doesn't turn off all unreachable code warnings.
Also relax unreachable 'break' and 'return' to not check for being
preceded by a call to 'noreturn'. That turns out to not be so
interesting in practice.
llvm-svn: 204000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent work on -Wunreachable-code has focused on suppressing uninteresting
unreachable code that center around "configuration values", but
there are still some set of cases that are sometimes interesting
or uninteresting depending on the codebase. For example, a dead
"break" statement may not be interesting for a particular codebase,
potentially because it is auto-generated or simply because code
is written defensively.
To address these workflow differences, -Wunreachable-code is now
broken into several diagnostic groups:
-Wunreachable-code: intended to be a reasonable "default" for
most users.
and then other groups that turn on more aggressive checking:
-Wunreachable-code-break: warn about dead break statements
-Wunreachable-code-trivial-return: warn about dead return statements
that return "trivial" values (e.g., return 0). Other return
statements that return non-trivial values are still reported
under -Wunreachable-code (this is an area subject to more refinement).
-Wunreachable-code-aggressive: supergroup that enables all these
groups.
The goal is to eventually make -Wunreachable-code good enough to
either be in -Wall or on-by-default, thus finessing these warnings
into different groups helps achieve maximum signal for more users.
TODO: the tests need to be updated to reflect this extra control
via diagnostic flags.
llvm-svn: 203994
|
| |
|
|
|
|
|
|
| |
'init' methods which are unavailable. Subclasses of NSObject
have to implement such methods as a common pattern to prevent
user's own implementation. // rdar://16305460
llvm-svn: 203984
|
| |
|
|
|
|
|
|
| |
complete. We hook into this check from a couple of other places (modules,
debug info) so it's not OK to elide the check if the type was already
complete.
llvm-svn: 203978
|
| |
|
|
|
|
| |
replacing with a range-only found_decls() API.
llvm-svn: 203975
|
| |
|
|
|
|
|
|
| |
(for an integer too large for any signed type) from Warning to ExtWarn -- it's
ill-formed in C++11 and C99 onwards, and UB during translation in C89 and
C++98. Add diagnostic groups for two relevant diagnostics.
llvm-svn: 203974
|
| |
|
|
|
|
| |
range-only types() API.
llvm-svn: 203971
|
| |
|
|
|
|
|
|
| |
'init' methods which are unavailable. Subclasses of NSObject
have to implement such methods as a common pattern to prevent
user's own implementation. // rdar://16305460
llvm-svn: 203966
|
| |
|
|
|
|
| |
iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203958
|