+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
/* 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))