| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This warning is supposed to be suppressed when the
constructor/destructor are non-trivial, since it might be a RAII type.
However, if the type has a trivial destructor and the constructor hasn't
been resolved (since it is called with dependent arguments), we were
still warning.
This patch suppresses the warning if the type could possibly have a
be a non-trivial constructor call. Note that this does not take the
arity of the constructors into consideration, so it might suppress
the warning in cases where it isn't possible to call a non-trivial
constructor.
|
|
|
|
|
|
|
|
|
| |
const-qualified type is not implicitly given internal linkage. But a
variable template declared 'static' is.
This reinstates part of r359048, reverted in r359076.
llvm-svn: 359260
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change breaks libc++ with the follwing error:
In file included from valarray:4:
.../include/c++/v1/valarray:1062:60: error: explicit instantiation declaration of 'valarray<_Tp>' with internal linkage
_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::valarray(size_t))
^
.../include/c++/v1/valarray:1063:60: error: explicit instantiation declaration of '~valarray<_Tp>' with internal linkage
_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::~valarray())
llvm-svn: 359076
|
|
|
|
|
|
|
| |
const-qualified type is not implicitly given internal linkage. But a
variable template declared 'static' is.
llvm-svn: 359048
|
|
|
|
|
|
| |
dependent context.
llvm-svn: 316177
|
|
|
|
|
|
|
|
| |
evaluate the initializer."
The warnings in libc++ tests were fixed in the meantime.
llvm-svn: 315811
|
|
|
|
|
|
|
|
| |
evaluate the initializer."
check-libcxx dislikes it.
llvm-svn: 315806
|
|
|
|
|
|
|
|
|
|
| |
If the variable construction can be constant evaluated it doesn't have
side effects, so removing it is always safe. We only try to evaluate
variables that are unused, there should be no impact on compile time.
Differential Revision: https://reviews.llvm.org/D38678
llvm-svn: 315787
|
|
|
|
|
|
|
|
|
| |
This commit simplifies and clarifies the test code
that was added in r285289.
Suggested by David Blaikie.
llvm-svn: 285825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
similarly to scalar variables.
This commit makes the -Wunused-variable warning behaviour more consistent:
Now clang won't warn for array variables where it doesn't warn for scalar
variables.
rdar://24158862
Differential Revision: https://reviews.llvm.org/D25937
llvm-svn: 285289
|
|
|
|
|
|
| |
partial specialization.
llvm-svn: 207260
|
|
|
|
|
|
|
|
|
|
|
| |
meaningful to odr-use the VarDecl inside a variable template. (Separately, it'd
be nice to track referenced-ness for templates, and warn on unused ones, but
that's really a distinct issue...)
Move a test that generates and tests a warning-suppressing error out to its own
test file, so it doesn't have weird effects on the other tests in the same file.
llvm-svn: 205448
|
|
|
|
|
|
|
| |
the GNU documentation: the attribute only appertains to the label if it is
followed by a semicolon. Based on a patch by Aaron Ballman!
llvm-svn: 194869
|
|
|
|
|
|
|
|
|
|
|
| |
fact be defined and used in another TU.
Reshuffle some test cases because we suppress -Wunused-variable after we've
emitted an error.
This fixes PR15558.
llvm-svn: 179138
|
|
|
|
| |
llvm-svn: 166625
|
|
|
|
|
|
|
|
|
| |
auto x((unknown));
int& y = x;
would crash because we were not flagging 'x' as an invalid declaration here.
llvm-svn: 165675
|
|
|
|
|
|
|
| |
call is elidable or if the constructor is trivial instead of checking if it
is user declared.
llvm-svn: 147652
|
|
|
|
|
|
| |
template definition and each instantiation.
llvm-svn: 133580
|
|
|
|
|
|
|
|
| |
appropriate attribute. Add a bit more testing that finds a pretty bad
regression (since ~forever) in this warning. Fix it with a nice 2 line
change. =]
llvm-svn: 126098
|
|
|
|
| |
llvm-svn: 118500
|
|
|
|
| |
llvm-svn: 114318
|
|
|
|
| |
llvm-svn: 114316
|
|
|
|
|
|
| |
suppressing copies of objects with trivial copy constructors.
llvm-svn: 107857
|
|
|
|
|
|
| |
breaking bootstrap on Linux.
llvm-svn: 107837
|
|
|
|
|
|
|
|
|
| |
CXXConstructExpr/CXXTemporaryObjectExpr/CXXNewExpr as
appropriate. Fixes PR7556, and provides a slide codegen improvement
when copy-initializing a POD class type from a value-initialized
temporary. Previously, we weren't eliding the copy.
llvm-svn: 107827
|
|
|
|
|
|
| |
variables. Fixes PR6948.
llvm-svn: 102436
|
|
|
|
|
|
|
|
| |
variable type, we can (and should) still check for completeness of the
variable's type. Do so, to work around an assertion that shows up in
Boost's shared_ptr.
llvm-svn: 95934
|
|
|
|
| |
llvm-svn: 92095
|
|
|
|
|
|
|
| |
clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to
garbage).
llvm-svn: 91460
|
|
|
|
| |
llvm-svn: 89106
|
|
|
|
| |
llvm-svn: 86357
|
|
|
|
| |
llvm-svn: 86352
|
|
llvm-svn: 83577
|