[Bug c++/33350] New: copy constructor error

2007-09-07 Thread stevenyi at 163 dot com
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

2007-09-08 Thread stevenyi at 163 dot com


--- 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

2007-09-08 Thread stevenyi at 163 dot com


--- 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

2008-01-14 Thread stevenyi at 163 dot com


--- 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