[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2006-01-15 Thread mmitchel at gcc dot gnu dot org


--- Comment #10 from mmitchel at gcc dot gnu dot org  2006-01-15 22:43 
---
The claim in Comment #9 is that this is a 4.1 regression as well as a 4.0
regression, so I've udpated the subject line.  It would be interesting to know
if this affects mainline as well.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.0 Regression] pragma |[4.0/4.1 Regression] pragma
   |interface/implementation|interface/implementation
   |still break synthesized |still break synthesized
   |methods |methods


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252



[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2005-09-06 Thread mmitchel at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252


[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2005-06-30 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Keywords||diagnostic
Summary|pragma  |[4.0/4.1 Regression] pragma
   |interface/implementation|interface/implementation
   |still break synthesized |still break synthesized
   |methods |methods
   Target Milestone|--- |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252


[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2005-06-30 Thread matz at suse dot de

--- Additional Comments From matz at suse dot de  2005-06-30 15:01 ---
Andrew: that's not a diagnostic issue.  While the diagnostic (the warning) 
indeed is wrong and misleading (and probably points to the underlying cause 
of this issue), the actual error I'm complaining about is 
the link error, due to not emitting an out-of-line copy of A::A() in a.cc as 
it would be required. 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252


[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2005-06-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-30 
15:10 ---
(In reply to comment #1)
Yes which is why I did not confirm it yet because I did not look at fully.  I 
just added the diagnostic 
keyword because it is still a wrong warning.  I am adding wrong-code also.
Reduced testcase:
 a.ii 
# 1 a.cc
# 0 built-in
# 1 command line
# 1 a.cc
#pragma implementation
# 1 a.h 1
struct B
{
  B(){};
  ~B(){}
};
#pragma interface
struct A {
  B a;

};
# 3 a.cc 2

 use.ii 
# 1 use.cc
# 0 built-in
# 1 command line
# 1 use.cc
# 1 a.h 1
struct B
{
  B(){};
  ~B(){}
};
#pragma interface
struct A {
  B a;

};
# 2 use.cc 2
A a;
int main() {}

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2005-06-30 15:10:43
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252


[Bug c++/22252] [4.0/4.1 Regression] pragma interface/implementation still break synthesized methods

2005-06-30 Thread matz at suse dot de

--- Additional Comments From matz at suse dot de  2005-06-30 15:23 ---
Ah, I see.  Note that you must compile the reduced testcase (thanks for 
that) with -O0, or with -fno-inline, otherwise the A::A ctor will be inlined 
in use.cc (making the warning about the non-availability of it even more 
funny ;-) ), and not lead to the link error. 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22252