------- Additional Comments From dannysmith at users dot sourceforge dot net  
2005-05-16 07:52 -------
The patch in comment #3 isn't sufficient for cases where C++ class members get 
their dllimport status from attribute applied to class type, rather than from 
explicit attribute on the member.  This still fails with same error as original 
testcase:

// dllimport attribute applied to class type causes non-inline class members to 
// use dllimport indirect reference semantics

struct __declspec(dllimport)  Bar { 
  char* data;
  int getlen() const;
  char* getdata() const;
  void __attribute__ ((regparm(3))) assign(char*, int);  
};

struct Foo
{
        Bar foobar;
        void GetData();
};

void Foo::GetData()
{
    foobar.assign(foobar.getdata(), foobar.getlen());
}



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


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

Reply via email to