* expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
as valid modes to expand address expressions.
From-SVN: r88464
+2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
+ as valid modes to expand address expressions.
+
2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
* c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
/* We can get called with some Weird Things if the user does silliness
like "(short) &a". In that case, convert_memory_address won't do
the right thing, so ignore the given target mode. */
- if (!targetm.valid_pointer_mode (tmode))
+ if (tmode != Pmode && tmode != ptr_mode)
tmode = Pmode;
result = expand_expr_addr_expr_1 (TREE_OPERAND (exp, 0), target,