re PR c++/7910 ([cygwin] Seg fault when compiling OpenSceneGraph 0.9.1)

PR c++/7910
	* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.

	PR c++/7910
	* g++.dg/ext/dllimport1.C: New test.

From-SVN: r65519
This commit is contained in:
Mark Mitchell 2003-04-12 20:01:29 +00:00 committed by Mark Mitchell
parent 7ef9fd85ef
commit 355b81d5b3
4 changed files with 34 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2003-04-12 Mark Mitchell <mark@codesourcery.com>
PR c++/7910
* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
2003-04-12 Zack Weinberg <zack@codesourcery.com>
* configure.in: Check for wchar.h, mbstowcs, and wcswidth.

View File

@ -273,7 +273,7 @@ i386_pe_mark_dllimport (decl)
const char *oldname;
char *newname;
tree idp;
rtx rtlname, newrtl;
rtx rtlname;
rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == SYMBOL_REF)
@ -335,10 +335,8 @@ i386_pe_mark_dllimport (decl)
identical. */
idp = get_identifier (newname);
newrtl = gen_rtx (MEM, Pmode,
gen_rtx (SYMBOL_REF, Pmode,
IDENTIFIER_POINTER (idp)));
XEXP (DECL_RTL (decl), 0) = newrtl;
XEXP (DECL_RTL (decl), 0)
= gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp));
/* Can't treat a pointer to this as a constant address */
DECL_NON_ADDR_CONST_P (decl) = 1;

View File

@ -1,3 +1,8 @@
2003-04-12 Mark Mitchell <mark@codesourcery.com>
PR c++/7910
* g++.dg/ext/dllimport1.C: New test.
2003-04-12 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/ultrasp8.c: Fix for 32-bit Sparc.

View File

@ -0,0 +1,21 @@
// { dg-do compile { target i?86-*-cygwin* } }
class __attribute__((dllimport)) Foo
{
public:
virtual void dummy_foo_func(void)
{}
};
class Bar : public Foo
{
public:
~Bar();
void dummy_bar_func();
};
Bar::~Bar()
{}
void Bar::dummy_bar_func()
{}