From: Richard Stallman Date: Sat, 27 Feb 1993 19:16:44 +0000 (+0000) Subject: (make_decl_rtl): Print an error for explicit register variable X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ce2fb2459b747b9895c9eaa9a1b1014c6b332ff7;p=gcc.git (make_decl_rtl): Print an error for explicit register variable whose type cannot be stored in that register. From-SVN: r3561 --- diff --git a/gcc/varasm.c b/gcc/varasm.c index c40a2faf1df..961d340e077 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -333,6 +333,9 @@ make_decl_rtl (decl, asmspec, top_level) error ("function declared `register'"); else if (DECL_REGISTER (decl) && TYPE_MODE (TREE_TYPE (decl)) == BLKmode) error_with_decl (decl, "data type of `%s' isn't suitable for a register"); + else if (DECL_REGISTER (decl) + && ! HARD_REGNO_MODE_OK (reg_number, TYPE_MODE (TREE_TYPE (decl)))) + error_with_decl (decl, "register number for `%s' isn't suitable for the data type"); /* Now handle properly declared static register variables. */ else if (DECL_REGISTER (decl)) {