[llvm] r177281 - Remove default copy ctor/assignment, makes AttributeSet trivially copyable.

David Blaikie dblaikie at gmail.com
Mon Mar 18 10:18:11 PDT 2013


On Mon, Mar 18, 2013 at 5:14 AM, Benjamin Kramer
<benny.kra at googlemail.com> wrote:
> Author: d0k
> Date: Mon Mar 18 07:14:30 2013
> New Revision: 177281
>
> URL: http://llvm.org/viewvc/llvm-project?rev=177281&view=rev
> Log:
> Remove default copy ctor/assignment, makes AttributeSet trivially copyable.

Do we have a bug somewhere to make a Clang warning to detect explicit
implementations that are equivalent to the implicit version (& perhaps
only warn if that makes the operation non-trivial or the type not
trivially copyable, etc)

>
> And enables SmallVector's pod optimizations.
>
> Modified:
>     llvm/trunk/include/llvm/IR/Attributes.h
>
> Modified: llvm/trunk/include/llvm/IR/Attributes.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Attributes.h?rev=177281&r1=177280&r2=177281&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/IR/Attributes.h (original)
> +++ llvm/trunk/include/llvm/IR/Attributes.h Mon Mar 18 07:14:30 2013
> @@ -226,11 +226,6 @@ private:
>    explicit AttributeSet(AttributeSetImpl *LI) : pImpl(LI) {}
>  public:
>    AttributeSet() : pImpl(0) {}
> -  AttributeSet(const AttributeSet &P) : pImpl(P.pImpl) {}
> -  const AttributeSet &operator=(const AttributeSet &RHS) {
> -    pImpl = RHS.pImpl;
> -    return *this;
> -  }
>
>    //===--------------------------------------------------------------------===//
>    // AttributeSet Construction and Mutation
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list