[PATCH] D18123: Fix implicit copy ctor and copy assignment operator warnings when -Wdeprecated passed.

don hinton via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 16 10:19:35 PDT 2016


The current behavior, albeit deprecated, is to implicitly define these.
Therefore, it would be incorrect not to delete them if the implicit
versions don't do the right thing.

I'd be happy to add a FIXME, but I doubt they will ever be removed.  At
best, they'd be #ifdef'd away for some future compiler that no longer
implicitly defines them.

Just not sure it's worth it.  Deleting them will be valid no matter what
the future holds.

On Wed, Mar 16, 2016 at 12:56 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> On Wed, Mar 16, 2016 at 7:54 AM, don hinton via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> hintonda updated this revision to Diff 50823.
>> hintonda added a comment.
>>
>> Address FIXME now that Sema::LookupInlineAsmField() has been fixed.
>>
>>
>> http://reviews.llvm.org/D18123
>>
>> Files:
>>   include/clang/AST/UnresolvedSet.h
>>   include/clang/Sema/Lookup.h
>>
>> Index: include/clang/Sema/Lookup.h
>> ===================================================================
>> --- include/clang/Sema/Lookup.h
>> +++ include/clang/Sema/Lookup.h
>> @@ -185,6 +185,9 @@
>>        Shadowed(false)
>>    {}
>>
>> +  LookupResult(const LookupResult &) = delete;
>> +  LookupResult & operator=(const LookupResult &) = delete;
>>
>
> Not sure how much to bother explicitly deleting ops like this if
> eventually the -Wdeprecated warning will just catch it that way. Maybe
> leave a "FIXME: Remove these once the warning for deprecated copy ops is
> enabled"?
>
>
>> +
>>    ~LookupResult() {
>>      if (Diagnose) diagnose();
>>      if (Paths) deletePaths(Paths);
>> Index: include/clang/AST/UnresolvedSet.h
>> ===================================================================
>> --- include/clang/AST/UnresolvedSet.h
>> +++ include/clang/AST/UnresolvedSet.h
>> @@ -59,8 +59,11 @@
>>    // UnresolvedSet.
>>  private:
>>    template <unsigned N> friend class UnresolvedSet;
>> -  UnresolvedSetImpl() {}
>> -  UnresolvedSetImpl(const UnresolvedSetImpl &) {}
>> +  UnresolvedSetImpl() = default;
>> +  UnresolvedSetImpl(const UnresolvedSetImpl &) = default;
>> +  UnresolvedSetImpl(UnresolvedSetImpl &&) = default;
>> +  UnresolvedSetImpl& operator=(const UnresolvedSetImpl &) = default;
>> +  UnresolvedSetImpl& operator=(UnresolvedSetImpl &&) = default;
>>
>>  public:
>>    // We don't currently support assignment through this iterator, so we
>> might
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160316/2d5485e2/attachment.html>


More information about the cfe-commits mailing list