+2004-11-10 Adam Nemet <anemet@lnxw.com>
+
+ PR middle-end/18160
+ * typeck.c (cxx_mark_addressable): Issue an error if address of an
+ explicit register variable is requested.
+
2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
PR c++/18143
case CONST_DECL:
case RESULT_DECL:
if (DECL_REGISTER (x) && !TREE_ADDRESSABLE (x)
- && !DECL_ARTIFICIAL (x) && extra_warnings)
- warning ("address requested for %qD, which is declared %<register%>",
- x);
+ && !DECL_ARTIFICIAL (x))
+ if (DECL_HARD_REGISTER (x) != 0)
+ {
+ error
+ ("address of explicit register variable %qD requested", x);
+ return false;
+ }
+ else if (extra_warnings)
+ warning
+ ("address requested for %qD, which is declared %<register%>", x);
TREE_ADDRESSABLE (x) = 1;
return true;