[Bug c++/57903] New: Object not getting constructed - Code misinterpreted as function declaration?

2013-07-16 Thread michael at dietschi dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57903

Bug ID: 57903
   Summary: Object not getting constructed - Code misinterpreted
as function declaration?
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: michael at dietschi dot net

Created attachment 30508
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30508&action=edit
Source file triggering the bug

Compiling this code:

class A
{
public:
A( int ) {}
};

class C
{
public:
C( A ) {}
void f() {}
};


int main( int /*argc*/, char */*argv*/[] )
{
int i = 0;

// OK
A a(i);
C c1(a);
c1.f();

// OK
C c2 = C( A(i) );
c2.f();

// not OK - why?
C c3( A(i) );  // It seems that c2 is not seen as an object but a function
declaration...
c3.f(); // ...hence this line forces a linker error!

return 0;
}


with this command-line: g++-4.6 -v -save-temps strange.cpp


[Bug c++/57903] Object not getting constructed - Code misinterpreted as function declaration?

2013-07-16 Thread michael at dietschi dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57903

--- Comment #1 from michael at dietschi dot net ---
Created attachment 30509
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30509&action=edit
command-line and output


[Bug c++/57903] Object not getting constructed - Code misinterpreted as function declaration?

2013-07-16 Thread michael at dietschi dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57903

--- Comment #3 from michael at dietschi dot net ---
Oops! Thanks for clarification and sorry for the noise.