[LLVMbugs] [Bug 18005] New: Implicit move destructor implicitly deleted when base class is trivially copyable
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Nov 20 05:41:26 PST 2013
http://llvm.org/bugs/show_bug.cgi?id=18005
Bug ID: 18005
Summary: Implicit move destructor implicitly deleted when base
class is trivially copyable
Product: clang
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++11
Assignee: unassignedclangbugs at nondot.org
Reporter: bmerry at gmail.com
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 11572
--> http://llvm.org/bugs/attachment.cgi?id=11572&action=edit
Sample case
I'm using the Clang 3.4 snapshot shipped with Ubuntu 13.10:
$ clang++ -v
Ubuntu clang version 3.4-1ubuntu1 (trunk) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu
Thread model: posix
The attached program generates an error (pasted at the end). It appears that
Clang is not implicitly defining a move constructor for B, but as far as I can
see it ought to. B has no user-declared special members, so 12.8.10 comes into
play; and while A does not have a move constructor, it is trivially copyable,
so the last bullet of 12.8.12 does not apply.
GCC successfully compiles this code, although GCC also has a bug in this area
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59213) so perhaps not too much
should be read into that.
$ clang++ -std=c++11 -c move.cpp
move.cpp:26:12: error: call to implicitly-deleted copy constructor of 'B'
return B();
^~~
move.cpp:21:7: note: copy constructor of 'B' is implicitly deleted because
field 'p' has a deleted copy constructor
C p;
^
move.cpp:8:5: note: function has been explicitly marked deleted here
C(const C &) = delete;
^
1 error generated.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20131120/7d8ac43e/attachment.html>
More information about the llvm-bugs
mailing list