[llvm] r223238 - Silencing several "multiple copy constructors" warnings from MSVC; NFC.

Duncan P. N. Exon Smith dexonsmith at apple.com
Wed Dec 3 10:44:37 PST 2014


> On 2014-Dec-03, at 10:41, Aaron Ballman <aaron at aaronballman.com> wrote:
> 
> On Wed, Dec 3, 2014 at 1:36 PM, Duncan P. N. Exon Smith
> <dexonsmith at apple.com> wrote:
>> I don't understand this.  AFAICT, that's the *only* copy constructor.
> 
> It's not.
> 
> EmplaceableArg(EmplaceableArg &X)
>      : State(X.State == EAS_Arg ? EAS_LValue : EAS_Failure) {}
> 
> That's the copy constructor.
> 
>> If that function isn't deleted, compilers will generate one, won't they?
> 
> No, because the non-const version exists and is considered a copy constructor.

I didn't know that.  Found the text to confirm in 12.8p2.

Thanks for the fix!



More information about the llvm-commits mailing list