+Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (array_type_nelts): Don't create RTL_EXPRs from
+ SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
+
Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
return t;
}
\f
-/* Return a new node with the same contents as NODE
- except that its TREE_CHAIN is zero and it has a fresh uid. */
+/* Return a new node with the same contents as NODE except that its
+ TREE_CHAIN is zero and it has a fresh uid. Unlike make_node, this
+ function always performs the allocation on the CURRENT_OBSTACK;
+ it's up to the caller to pick the right obstack before calling this
+ function. */
tree
copy_node (node)
if (! TREE_CONSTANT (min))
{
STRIP_NOPS (min);
- if (TREE_CODE (min) == SAVE_EXPR)
+ if (TREE_CODE (min) == SAVE_EXPR && SAVE_EXPR_RTL (min))
min = build (RTL_EXPR, TREE_TYPE (TYPE_MIN_VALUE (index_type)), 0,
SAVE_EXPR_RTL (min));
else
if (! TREE_CONSTANT (max))
{
STRIP_NOPS (max);
- if (TREE_CODE (max) == SAVE_EXPR)
+ if (TREE_CODE (max) == SAVE_EXPR && SAVE_EXPR_RTL (max))
max = build (RTL_EXPR, TREE_TYPE (TYPE_MAX_VALUE (index_type)), 0,
SAVE_EXPR_RTL (max));
else