* fold-const.c (fold_comparison): Use ssizetype.
* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
* ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
* tree-loop-distribution.c (build_size_arg_loc): Likewise.
* tree-object-size.c (compute_object_sizes): Use size_type_node.
* tree.h (initialize_sizetypes): Remove parameter.
(build_common_tree_nodes): Remove second parameter.
* stor-layout.c (initialize_sizetypes): Remove parameter.
Always create an unsigned type.
(set_sizetype): Assert that the passed type is unsigned and simplify.
* tree.c (build_common_tree_nodes): Remove second parameter.
Adjust call to initialize_sizetypes.
* c-decl.c (c_init_decl_processing): Remove second argument in call to
build_common_tree_nodes.
cp/
* decl.c (cxx_init_decl_processing): Remove second argument in call to
build_common_tree_nodes.
java/
* decl.c (java_init_decl_processing): Remove argument in call to
initialize_sizetypes
fortran/
* f95-lang.c (gfc_init_decl_processing): Remove second argument in call
to build_common_tree_nodes.
ada/
* gcc-interface/misc.c (gnat_init): Remove second argument in call to
build_common_tree_nodes.
lto/
* lto-lang.c (lto_init): Remove second argument in call to
build_common_tree_nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158496
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_comparison): Use ssizetype.
+ * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
+ * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
+ * tree-loop-distribution.c (build_size_arg_loc): Likewise.
+ * tree-object-size.c (compute_object_sizes): Use size_type_node.
+
+ * tree.h (initialize_sizetypes): Remove parameter.
+ (build_common_tree_nodes): Remove second parameter.
+ * stor-layout.c (initialize_sizetypes): Remove parameter.
+ Always create an unsigned type.
+ (set_sizetype): Assert that the passed type is unsigned and simplify.
+ * tree.c (build_common_tree_nodes): Remove second parameter.
+ Adjust call to initialize_sizetypes.
+ * c-decl.c (c_init_decl_processing): Remove second argument in call to
+ build_common_tree_nodes.
+
2010-04-18 Matthias Klose <doko@ubuntu.com>
* gcc.c (main): Search for liblto_plugin.so with mode R_OK.
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init): Remove second argument in call to
+ build_common_tree_nodes.
+
2010-04-18 Ozkan Sezer <sezeroz@gmail.com>
* gsocket.h: Make sure that winsock2.h is included before windows.h.
/* Do little here, most of the standard declarations are set up after the
front-end has been run. Use the same `char' as C, this doesn't really
matter since we'll use the explicit `unsigned char' for Character. */
- build_common_tree_nodes (flag_signed_char, false);
+ build_common_tree_nodes (flag_signed_char);
/* In Ada, we use the unsigned type corresponding to the width of Pmode as
SIZETYPE. In most cases when ptr_mode and Pmode differ, C will use the
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (cxx_init_decl_processing): Remove second argument in call to
+ build_common_tree_nodes.
+
2010-04-14 Jason Merrill <jason@redhat.com>
PR c++/36625
&& ((code == EQ_EXPR || code == NE_EXPR)
|| POINTER_TYPE_OVERFLOW_UNDEFINED))
{
- tree signed_size_type_node;
- signed_size_type_node = signed_type_for (size_type_node);
-
/* By converting to signed size type we cover middle-end pointer
arithmetic which operates on unsigned pointer types of size
type size and ARRAY_REF offsets which are properly sign or
zero extended from their type in case it is narrower than
size type. */
if (offset0 == NULL_TREE)
- offset0 = build_int_cst (signed_size_type_node, 0);
+ offset0 = build_int_cst (ssizetype, 0);
else
- offset0 = fold_convert_loc (loc, signed_size_type_node,
- offset0);
+ offset0 = fold_convert_loc (loc, ssizetype, offset0);
if (offset1 == NULL_TREE)
- offset1 = build_int_cst (signed_size_type_node, 0);
+ offset1 = build_int_cst (ssizetype, 0);
else
- offset1 = fold_convert_loc (loc, signed_size_type_node,
- offset1);
+ offset1 = fold_convert_loc (loc, ssizetype, offset1);
if (code != EQ_EXPR
&& code != NE_EXPR
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
+ to build_common_tree_nodes.
+
2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
- PR fortran/31538
- * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
- gfc_msg_bounds by using 'Array bound mismatch' directly.
- (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
- error message to include the mismatch in the extent of array bound.
- * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
- * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
+ PR fortran/31538
+ * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
+ gfc_msg_bounds by using 'Array bound mismatch' directly.
+ (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
+ error message to include the mismatch in the extent of array bound.
+ * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
+ * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
return NULL_TREE;
/* Use signed size type for intermediate computation on the index. */
- idx_type = signed_type_for (size_type_node);
+ idx_type = ssizetype;
/* If OFFSET and ELT_OFFSET are zero, we don't care about the size of the
element type (so we can use the alignment if it's not constant).
if (!useless_type_conversion_p (ptrtype, TREE_TYPE (expr)))
expr = fold_convert (ptrtype, expr);
expr = fold_build2 (POINTER_PLUS_EXPR, ptrtype, expr,
- build_int_cst (size_type_node,
+ build_int_cst (sizetype,
adj->offset / BITS_PER_UNIT));
if (!adj->by_ref)
expr = fold_build1 (INDIRECT_REF, adj->type, expr);
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (java_init_decl_processing): Remove argument in call to
+ initialize_sizetypes
+
2010-04-07 Jakub Jelinek <jakub@redhat.com>
* exception.cc (_Jv_Throw): Avoid set but not used warning.
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-lang.c (lto_init): Remove second argument in call to
+ build_common_tree_nodes.
+
2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lto-elf.c [!HAVE_ELF_GETSHDRSTRNDX] (elf_getshdrstrndx): New
\f
/* SAVE_EXPRs for sizes of types and decls, waiting to be expanded. */
-static GTY(()) VEC(tree,gc) *pending_sizes;
+static GTY(()) tree pending_sizes;
/* Show that REFERENCE_TYPES are internal and should use address_mode.
Called only by front end. */
reference_types_internal = 1;
}
-/* Get a VEC of all the objects put on the pending sizes list. */
+/* Get a list of all the objects put on the pending sizes list. */
-VEC(tree,gc) *
+tree
get_pending_sizes (void)
{
- VEC(tree,gc) *chain = pending_sizes;
+ tree chain = pending_sizes;
pending_sizes = 0;
return chain;
expr = skip_simple_arithmetic (expr);
if (TREE_CODE (expr) == SAVE_EXPR)
- VEC_safe_push (tree, gc, pending_sizes, expr);
+ pending_sizes = tree_cons (NULL_TREE, expr, pending_sizes);
}
/* Put a chain of objects into the pending sizes list, which must be
empty. */
void
-put_pending_sizes (VEC(tree,gc) *chain)
+put_pending_sizes (tree chain)
{
gcc_assert (!pending_sizes);
pending_sizes = chain;
sign-extended in a way consistent with force_fit_type. */
max = TYPE_MAX_VALUE (sizetype);
TYPE_MAX_VALUE (sizetype)
- = double_int_to_tree (sizetype, tree_to_double_int (max));
+ = build_int_cst_wide_type (sizetype,
+ TREE_INT_CST_LOW (max),
+ TREE_INT_CST_HIGH (max));
t = make_node (INTEGER_TYPE);
TYPE_NAME (t) = get_identifier ("bit_size_type");
extern tree signed_or_unsigned_type_for (int, tree);
extern tree signed_type_for (tree);
extern tree unsigned_type_for (tree);
-extern void initialize_sizetypes (bool);
+extern void initialize_sizetypes (void);
extern void set_sizetype (tree);
extern void fixup_unsigned_type (tree);
extern tree build_pointer_type_for_mode (tree, enum machine_mode, bool);
extern int real_twop (const_tree);
extern int real_minus_onep (const_tree);
extern void init_ttree (void);
-extern void build_common_tree_nodes (bool, bool);
+extern void build_common_tree_nodes (bool);
extern void build_common_tree_nodes_2 (int);
extern void build_common_builtin_nodes (void);
extern tree build_nonstandard_integer_type (unsigned HOST_WIDE_INT, int);