[Bug c++/33350] New: copy constructor error
if the copy constructor is decrated with the key word explicit, the following code won't compile, struct T { explicit T() {} explicit T(const T&) {} }; void test(T const&) { } int main(int argc, char *argv[]) { test(T()); return 0; } -- Summary: copy constructor error Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: stevenyi at 163 dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33350
[Bug c++/33350] copy constructor error
--- Comment #2 from stevenyi at 163 dot com 2007-09-09 02:46 --- (In reply to comment #1) > Yes the copy constructor is going to be called implicately here. the copy constructor is not actually called at runtime. and both intel compiler and vc++ can compile this code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33350
[Bug c++/33350] copy constructor error
--- Comment #4 from stevenyi at 163 dot com 2007-09-09 05:26 --- I can not see any reason to call the copy constructor here. If you remove keyword explicit so that let the code compile, you can find that the copy constructor is not called at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33350
[Bug middle-end/32044] [4.3 regression] udivdi3 counterproductive, unwarranted use
--- Comment #40 from stevenyi at 163 dot com 2008-01-15 02:39 --- This bug cause linux kernel unable to compile. So I think it must be fixed before 4.3 is released -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32044