decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER for `register' variables with an asm-specification.

* decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER
	for `register' variables with an asm-specification.

From-SVN: r43963
This commit is contained in:
Mark Mitchell 2001-07-12 07:50:58 +00:00 committed by Mark Mitchell
parent 4eab60c269
commit 7ed47c042e
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2001-07-12 Mark Mitchell <mark@codesourcery.com>
* decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER
for `register' variables with an asm-specification.
2001-07-11 Mark Mitchell <mark@codesourcery.com>
* semantics.c (finish_asm_stmt): Mark the output operands

View File

@ -7806,7 +7806,14 @@ make_rtl_for_nonlocal_decl (decl, init, asmspec)
/* Set the DECL_ASSEMBLER_NAME for the variable. */
if (asmspec)
SET_DECL_ASSEMBLER_NAME (decl, get_identifier (asmspec));
{
SET_DECL_ASSEMBLER_NAME (decl, get_identifier (asmspec));
/* The `register' keyword, when used together with an
asm-specification, indicates that the variable should be
placed in a particular register. */
if (DECL_REGISTER (decl))
DECL_C_HARD_REGISTER (decl) = 1;
}
/* We don't create any RTL for local variables. */
if (DECL_FUNCTION_SCOPE_P (decl) && !TREE_STATIC (decl))