[PATCH] [PATCH] Disabling warnings on unused parameters if function is deleted/ defaulted (cxx11) [PR19303]
Reid Kleckner
rnk at google.com
Tue Apr 29 17:38:23 PDT 2014
Looks good! Do you need someone to commit it?
On Sat, Apr 26, 2014 at 11:19 AM, Dinesh Dwivedi <dinesh.d at samsung.com>wrote:
> Updated as per comment.
>
> Thanks for review
>
> http://reviews.llvm.org/D3376
>
> Files:
> lib/Sema/SemaDecl.cpp
> test/SemaCXX/cxx11-unused.cpp
>
> Index: lib/Sema/SemaDecl.cpp
> ===================================================================
> --- lib/Sema/SemaDecl.cpp
> +++ lib/Sema/SemaDecl.cpp
> @@ -9919,7 +9919,9 @@
> Diag(FD->getLocation(), diag::warn_pure_function_definition);
>
> if (!FD->isInvalidDecl()) {
> - DiagnoseUnusedParameters(FD->param_begin(), FD->param_end());
> + // Don't diagnose unused parameters of defaulted or deleted
> functions.
> + if (Body)
> + DiagnoseUnusedParameters(FD->param_begin(), FD->param_end());
> DiagnoseSizeOfParametersAndReturnValue(FD->param_begin(),
> FD->param_end(),
> FD->getReturnType(), FD);
>
> Index: test/SemaCXX/cxx11-unused.cpp
> ===================================================================
> --- /dev/null
> +++ test/SemaCXX/cxx11-unused.cpp
> @@ -0,0 +1,33 @@
> +// RUN: %clang_cc1 -std=c++11 -verify %s -Wunused-parameter
> +
> +// PR19303 : Make sure we don't get a unused expression warning for
> deleted and
> +// defaulted functions
> +
> +// expected-no-diagnostics
> +
> +class A {
> +public:
> + int x;
> + A() = default;
> + ~A() = default;
> + A(const A &other) = delete;
> +
> + template <typename T>
> + void SetX(T x) {
> + this->x = x;
> + };
> +
> + void SetX1(int x);
> +};
> +
> +template <>
> +void A::SetX(A x) = delete;
> +
> +class B {
> +public:
> + B() = default;
> + ~B() = default;
> + B(const B &other);
> +};
> +
> +B::B(const B &other) = default;
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140429/f0913166/attachment.html>
More information about the cfe-commits
mailing list