From: Mark Mitchell Date: Thu, 12 Jul 2001 07:50:58 +0000 (+0000) Subject: decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER for `register' variable... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7ed47c042e44ac0809d65ddfec988e1305067239;p=gcc.git 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 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 486533b44cf..3d8f346349e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-07-12 Mark Mitchell + + * decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER + for `register' variables with an asm-specification. + 2001-07-11 Mark Mitchell * semantics.c (finish_asm_stmt): Mark the output operands diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5de71508626..c0e9b85a471 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -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))