mirror of git://gcc.gnu.org/git/gcc.git
Implement LANG_HOOKS_TYPE_FOR_SIZE for jit
gcc/jit/ChangeLog: * dummy-frontend.c (jit_langhook_type_for_size): Implement, using lto's lto_type_for_size. From-SVN: r244600
This commit is contained in:
parent
8b1346a80a
commit
b37589b0c4
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-01-18 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
|
* dummy-frontend.c (jit_langhook_type_for_size): Implement, using
|
||||||
|
lto's lto_type_for_size.
|
||||||
|
|
||||||
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Update copyright years.
|
Update copyright years.
|
||||||
|
|
|
||||||
|
|
@ -207,12 +207,53 @@ jit_langhook_type_for_mode (enum machine_mode mode, int unsignedp)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Return an integer type with PRECISION bits of precision,
|
||||||
|
that is unsigned if UNSIGNEDP is nonzero, otherwise signed. */
|
||||||
|
|
||||||
static tree
|
static tree
|
||||||
jit_langhook_type_for_size (unsigned int bits ATTRIBUTE_UNUSED,
|
jit_langhook_type_for_size (unsigned precision, int unsignedp)
|
||||||
int unsignedp ATTRIBUTE_UNUSED)
|
|
||||||
{
|
{
|
||||||
gcc_unreachable ();
|
int i;
|
||||||
return NULL;
|
|
||||||
|
if (precision == TYPE_PRECISION (integer_type_node))
|
||||||
|
return unsignedp ? unsigned_type_node : integer_type_node;
|
||||||
|
|
||||||
|
if (precision == TYPE_PRECISION (signed_char_type_node))
|
||||||
|
return unsignedp ? unsigned_char_type_node : signed_char_type_node;
|
||||||
|
|
||||||
|
if (precision == TYPE_PRECISION (short_integer_type_node))
|
||||||
|
return unsignedp ? short_unsigned_type_node : short_integer_type_node;
|
||||||
|
|
||||||
|
if (precision == TYPE_PRECISION (long_integer_type_node))
|
||||||
|
return unsignedp ? long_unsigned_type_node : long_integer_type_node;
|
||||||
|
|
||||||
|
if (precision == TYPE_PRECISION (long_long_integer_type_node))
|
||||||
|
return unsignedp
|
||||||
|
? long_long_unsigned_type_node
|
||||||
|
: long_long_integer_type_node;
|
||||||
|
|
||||||
|
for (i = 0; i < NUM_INT_N_ENTS; i ++)
|
||||||
|
if (int_n_enabled_p[i]
|
||||||
|
&& precision == int_n_data[i].bitsize)
|
||||||
|
return (unsignedp ? int_n_trees[i].unsigned_type
|
||||||
|
: int_n_trees[i].signed_type);
|
||||||
|
|
||||||
|
if (precision <= TYPE_PRECISION (intQI_type_node))
|
||||||
|
return unsignedp ? unsigned_intQI_type_node : intQI_type_node;
|
||||||
|
|
||||||
|
if (precision <= TYPE_PRECISION (intHI_type_node))
|
||||||
|
return unsignedp ? unsigned_intHI_type_node : intHI_type_node;
|
||||||
|
|
||||||
|
if (precision <= TYPE_PRECISION (intSI_type_node))
|
||||||
|
return unsignedp ? unsigned_intSI_type_node : intSI_type_node;
|
||||||
|
|
||||||
|
if (precision <= TYPE_PRECISION (intDI_type_node))
|
||||||
|
return unsignedp ? unsigned_intDI_type_node : intDI_type_node;
|
||||||
|
|
||||||
|
if (precision <= TYPE_PRECISION (intTI_type_node))
|
||||||
|
return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
|
||||||
|
|
||||||
|
return NULL_TREE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Record a builtin function. We just ignore builtin functions. */
|
/* Record a builtin function. We just ignore builtin functions. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue