Commit 26b3c423 by Richard Stallman

*** empty log message ***

From-SVN: r1005
parent 98f21a70
...@@ -782,6 +782,17 @@ c_alignof (type) ...@@ -782,6 +782,17 @@ c_alignof (type)
return size_int (TYPE_ALIGN (type) / BITS_PER_UNIT); return size_int (TYPE_ALIGN (type) / BITS_PER_UNIT);
} }
/* Print a warning if a constant expression had overflow in folding.
This doesn't really work--it is waiting for changes in fold. */
void
constant_expression_warning (value)
tree value;
{
if (TREE_CODE (value) == NON_LVALUE_EXPR && TREE_CONSTANT_OVERFLOW (value))
pedwarn ("overflow in constant expression");
}
/* Implement the __alignof keyword: Return the minimum required /* Implement the __alignof keyword: Return the minimum required
alignment of EXPR, measured in bytes. For VAR_DECL's and alignment of EXPR, measured in bytes. For VAR_DECL's and
...@@ -3013,7 +3024,7 @@ build_unary_op (code, xarg, noconvert) ...@@ -3013,7 +3024,7 @@ build_unary_op (code, xarg, noconvert)
return error_mark_node; return error_mark_node;
/* Report a read-only lvalue. */ /* Report a read-only lvalue. */
if (TYPE_READONLY (TREE_TYPE (arg))) if (TREE_READONLY (arg))
readonly_warning (arg, readonly_warning (arg,
((code == PREINCREMENT_EXPR ((code == PREINCREMENT_EXPR
|| code == POSTINCREMENT_EXPR) || code == POSTINCREMENT_EXPR)
...@@ -4203,6 +4214,9 @@ store_init_value (decl, init) ...@@ -4203,6 +4214,9 @@ store_init_value (decl, init)
} }
#endif #endif
/* ANSI wants warnings about out-of-range constant initializers. */
constant_expression_warning (value);
DECL_INITIAL (decl) = value; DECL_INITIAL (decl) = value;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment