/* Language-dependent node constructors for parse phase of GNU compiler.
- Copyright (C) 1992, 93, 94, 98, 99, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
#include "ch-tree.h"
#include "toplev.h"
-/* Here is how primitive or already-canonicalized types'
- hash codes are made. */
-#define TYPE_HASH(TYPE) ((HOST_WIDE_INT) (TYPE) & 0777777)
-
extern struct obstack permanent_obstack;
/* This is special sentinel used to communicate from build_string_type
to layout_chill_range_type for the index range of a string. */
/* Subtract 1 from length to get max index value.
Note we cannot use size_binop for pass 1 expressions. */
if (TREE_CODE (length) == INTEGER_CST || pass != 1)
- length = size_binop (MINUS_EXPR, length, integer_one_node);
+ length = size_binop (MINUS_EXPR, length, size_one_node);
else
- length = build (MINUS_EXPR, sizetype, length, integer_one_node);
+ length = build (MINUS_EXPR, sizetype, length, size_one_node);
t = make_node (elt_type == boolean_type_node ? SET_TYPE : ARRAY_TYPE);
TREE_TYPE (t) = elt_type;
if (! discrete_type_p (domain))
{
- error ("Can only build a powerset from a discrete mode");
+ error ("can only build a powerset from a discrete mode");
return error_mark_node;
}
tree t;
{
tree hi = convert (sizetype, TYPE_MAX_VALUE (t));
+
if (TYPE_MIN_VALUE (t))
hi = size_binop (MINUS_EXPR, hi, convert (sizetype, TYPE_MIN_VALUE (t)));
+
return size_binop (PLUS_EXPR, hi, integer_one_node);
}