From: Eric Botcazou Date: Mon, 31 Jan 2011 10:45:20 +0000 (+0000) Subject: re PR rtl-optimization/44031 (ice in subst_reloads, at reload.c:6327) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=171bbfd2ef5e0bc622476cb1e993a6106670dd83;p=gcc.git re PR rtl-optimization/44031 (ice in subst_reloads, at reload.c:6327) PR rtl-optimization/44031 * gcc.c-torture/compile/20110131-1.c: New test. From-SVN: r169433 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c8de82a755b..bde5bc0dc28 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-01-31 Eric Botcazou + + PR rtl-optimization/44031 + * gcc.c-torture/compile/20110131-1.c: New test. + 2011-01-31 Tobias Burnus PR fortran/47042 diff --git a/gcc/testsuite/gcc.c-torture/compile/20110131-1.c b/gcc/testsuite/gcc.c-torture/compile/20110131-1.c new file mode 100644 index 00000000000..8ce68de4b5b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20110131-1.c @@ -0,0 +1,38 @@ +/* PR rtl-optimization/44031 */ +/* Testcase by John Regehr */ + +typedef unsigned char uint8_t; +typedef unsigned int uint32_t; +typedef unsigned long int uint64_t; + +static uint32_t +safe_add_func_uint32_t_u_u (uint32_t ui1, uint32_t ui2) +{ + return ui1 + ui2; +} + +static uint64_t +safe_div_func_uint64_t_u_u (uint64_t ui1, uint32_t ui2) +{ + return ui2 ? : (ui1 / ui2); +} + +uint8_t g_55; +uint8_t *g_73 = &g_55; +uint8_t **g_332 = &g_73; + +int func_38(uint8_t *,int); +int func_8(int); + +int int321 (void) +{ + uint8_t l_26[4]; + uint8_t *l_238 = &l_26[2]; + uint8_t l_400; + l_400 &= + func_38 (&l_26[3], + safe_add_func_uint32_t_u_u (safe_div_func_uint64_t_u_u + (1, **g_332), + *l_238) >= *l_238 < func_8 (0)), 1; + return 0; +}