Commit 3819b963 by Mark Mitchell Committed by Mark Mitchell

winnt.c (i386_pe_mark_dllimport): Make the new RTL have the same form as the old RTL.

	* config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
	have the same form as the old RTL.

From-SVN: r65885
parent b33ee5f1
2003-04-21 Mark Mitchell <mark@codesourcery.com>
* config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
have the same form as the old RTL.
2003-04-21 Andreas Jaeger <aj@suse.de> 2003-04-21 Andreas Jaeger <aj@suse.de>
* cppcharset.c (_cpp_valid_ucn): Cast field precision to int. * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
......
...@@ -274,6 +274,7 @@ i386_pe_mark_dllimport (decl) ...@@ -274,6 +274,7 @@ i386_pe_mark_dllimport (decl)
char *newname; char *newname;
tree idp; tree idp;
rtx rtlname; rtx rtlname;
rtx new_symbol;
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,8 +336,11 @@ i386_pe_mark_dllimport (decl) ...@@ -335,8 +336,11 @@ i386_pe_mark_dllimport (decl)
identical. */ identical. */
idp = get_identifier (newname); idp = get_identifier (newname);
XEXP (DECL_RTL (decl), 0) new_symbol = gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp));
= gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER (idp)); XEXP (DECL_RTL (decl), 0)
= ((GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM)
? gen_rtx (MEM, Pmode, new_symbol)
: new_symbol);
/* 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;
......
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