This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/19704] ICE for tail call of regparm 3 and dllimport
- From: "dannysmith at users dot sourceforge dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 May 2005 07:52:39 -0000
- Subject: [Bug target/19704] ICE for tail call of regparm 3 and dllimport
- References: <20050130044846.19704.dannysmith@users.sourceforge.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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