From 248081bc932cc9f1bba6ce780d447070f6e9cd6f Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Sat, 13 Mar 2010 17:35:29 +0000 Subject: Use ssizetype when long_long_integer_type_node is NULL. 2010-03-11 Sebastian Pop * graphite-clast-to-gimple.c (my_long_long): Defined. (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node. * graphite-sese-to-poly.c (my_long_long): Defined. (scop_ivs_can_be_represented): Use it. From-SVN: r157438 --- gcc/graphite-clast-to-gimple.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'gcc/graphite-clast-to-gimple.c') diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index 377ca8b..f99a158 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -547,6 +547,9 @@ clast_get_body_of_loop (struct clast_stmt *stmt) gcc_unreachable (); } +/* Java does not initialize long_long_integer_type_node. */ +#define my_long_long (long_long_integer_type_node ? long_long_integer_type_node : ssizetype) + /* Given a CLOOG_IV, return the type that CLOOG_IV should have in GCC land. The selected type is big enough to include the original loop iteration variable, but signed to work with the subtractions CLooG @@ -581,8 +584,8 @@ gcc_type_for_cloog_iv (const char *cloog_iv, gimple_bb_p gbb) if (type_precision <= TYPE_PRECISION (long_integer_type_node)) return long_integer_type_node; - if (type_precision <= TYPE_PRECISION (long_long_integer_type_node)) - return long_long_integer_type_node; + if (type_precision <= TYPE_PRECISION (my_long_long)) + return my_long_long; gcc_unreachable (); } @@ -593,17 +596,19 @@ gcc_type_for_cloog_iv (const char *cloog_iv, gimple_bb_p gbb) if (type_precision < TYPE_PRECISION (long_integer_type_node)) return long_integer_type_node; - if (type_precision < TYPE_PRECISION (long_long_integer_type_node)) - return long_long_integer_type_node; + if (type_precision < TYPE_PRECISION (my_long_long)) + return my_long_long; /* There is no signed type available, that is large enough to hold the original value. */ gcc_unreachable (); } - return long_long_integer_type_node; + return my_long_long; } +#undef my_long_long + /* Returns the induction variable for the loop that gets translated to STMT. */ -- cgit v1.1