+2002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
+
+ * config/avr/avr.c (machine_dependent_reorg): Sign extend the
+ CONST_INT operand to the correct mode after adding 1 to it.
+
2002-05-24 Roman Lechtchinsky <rl@cs.tu-berlin.de>
* config/alpha/unicosmk.h (REAL_VALUE_TO_TARGET_SINGLE,
{
if (DECL_P (*node))
{
- if (TREE_STATIC (*node) || DECL_EXTERNAL (*node))
+ if (TREE_CODE (*node) == TYPE_DECL)
+ {
+ /* This is really a decl attribute, not a type attribute,
+ but try to handle it for GCC 3.0 backwards compatibility. */
+
+ tree type = TREE_TYPE (*node);
+ tree attr = tree_cons (name, args, TYPE_ATTRIBUTES (type));
+ tree newtype = build_type_attribute_variant (type, attr);
+
+ TYPE_MAIN_VARIANT (newtype) = TYPE_MAIN_VARIANT (type);
+ TREE_TYPE (*node) = newtype;
+ *no_add_attrs = true;
+ }
+ else if (TREE_STATIC (*node) || DECL_EXTERNAL (*node))
{
if (DECL_INITIAL (*node) == NULL_TREE && !DECL_EXTERNAL (*node))
{
rtx pat = PATTERN (next);
rtx src = SET_SRC (pat);
rtx t = XEXP (src,0);
+ enum machine_mode mode = GET_MODE (XEXP (pattern, 0));
- if (avr_simplify_comparision_p (GET_MODE (XEXP (pattern,0)),
- GET_CODE (t), x))
+ if (avr_simplify_comparision_p (mode, GET_CODE (t), x))
{
- XEXP (pattern,1) = GEN_INT (INTVAL (x)+1);
+ XEXP (pattern, 1) = gen_int_mode (INTVAL (x) + 1, mode);
PUT_CODE (t, avr_normalize_condition (GET_CODE (t)));
INSN_CODE (next) = -1;
INSN_CODE (insn) = -1;