Commit 355b81d5 by Mark Mitchell Committed by Mark Mitchell

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
parent 7ef9fd85
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> 2003-04-12 Zack Weinberg <zack@codesourcery.com>
* configure.in: Check for wchar.h, mbstowcs, and wcswidth. * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
......
...@@ -273,7 +273,7 @@ i386_pe_mark_dllimport (decl) ...@@ -273,7 +273,7 @@ i386_pe_mark_dllimport (decl)
const char *oldname; const char *oldname;
char *newname; char *newname;
tree idp; tree idp;
rtx rtlname, newrtl; rtx rtlname;
rtlname = XEXP (DECL_RTL (decl), 0); rtlname = XEXP (DECL_RTL (decl), 0);
if (GET_CODE (rtlname) == SYMBOL_REF) if (GET_CODE (rtlname) == SYMBOL_REF)
...@@ -335,10 +335,8 @@ i386_pe_mark_dllimport (decl) ...@@ -335,10 +335,8 @@ i386_pe_mark_dllimport (decl)
identical. */ identical. */
idp = get_identifier (newname); idp = get_identifier (newname);
newrtl = gen_rtx (MEM, Pmode, XEXP (DECL_RTL (decl), 0)
gen_rtx (SYMBOL_REF, Pmode, = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp));
IDENTIFIER_POINTER (idp)));
XEXP (DECL_RTL (decl), 0) = newrtl;
/* Can't treat a pointer to this as a constant address */ /* Can't treat a pointer to this as a constant address */
DECL_NON_ADDR_CONST_P (decl) = 1; DECL_NON_ADDR_CONST_P (decl) = 1;
......
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> 2003-04-12 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/ultrasp8.c: Fix for 32-bit Sparc. * gcc.dg/ultrasp8.c: Fix for 32-bit Sparc.
......
// { 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()
{}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment