Hi,
Is this mailing list alright for crash reports?
In any case, here is one. Creduce is a build from recent GIT commit, a667578.
Kind regards,
Kees Bakker
#include "csmith.h"
struct U0 {
signed f0 : 16;
};
union U1 {
int32_t f1;
};
struct U2 {
int16_t f2;
};
struct U3 {
int8_t f0;
int64_t f1;
};
static int8_t g_11 = 8L;
static int8_t *g_44[2] ;
static int8_t **g_43 = &g_44[1];
static int32_t g_48 = -1L;
static int32_t g_56 = -1L;
static volatile union U1 g_66[9] ;
static volatile int32_t g_83[1][6] ;
static int32_t g_84[8][7][4] ;
static int32_t g_97 = 0L;
static struct U0 g_106 ;
static struct U3 g_141 ;
static union U1 g_144 ;
static union U1 *g_143 = &g_144;
static int32_t *g_151[5][5] =
{
&g_56, &g_56, &g_97, &g_56, &g_56}
;
static int32_t ** volatile g_150 = &g_151[2][3];
static struct U2 g_176 ;
static int32_t g_268 = 0x328A8ECEL;
static struct U3 g_471[7][6][6] ;
static struct U3 g_474 ;
static struct U3 g_475 ;
static struct U3 g_480 ;
static struct U3 g_486 ;
static struct U3 g_488 ;
static struct U3 g_491 ;
static struct U3 g_494 ;
static int8_t *g_498 = &g_486.f0;
static int8_t **g_497 = &g_498;
static int32_t g_546[4] ;
static uint16_t func_4(int8_t * p_5, uint32_t p_6, const uint32_t p_7, int8_t * p_8, uint32_t p_9);
static uint16_t func_18(int8_t * p_19);
static int8_t * func_20(uint32_t p_21, int16_t p_22, int16_t p_23, int8_t * p_24);
static int8_t func_35(int8_t * p_36, uint64_t p_37);
static int8_t * func_38(uint8_t p_39, int8_t ** p_40);
static int32_t * func_45(int32_t * p_46);
static int16_t func_67(int32_t * p_68, int16_t p_69, int8_t ** p_70, int8_t ** p_71, int32_t * p_72);
static int8_t ** func_74(int32_t * p_75);
static struct U3 func_85(int32_t * const p_86, int8_t ** p_87, union U1 p_88, uint64_t p_89, int32_t p_90);
static const uint8_t func_1(void) {
/* block id: 0 */ int8_t *l_10 = &g_11;
int8_t *l_26[4][9][3] ;
int8_t **l_25 = &l_26[0][7][0];
int16_t *l_745 = &g_176.f2;
int32_t l_746 = -9L;
int32_t l_756[3][8][7] ;
if (safe_div_func_uint32_t_u_u(func_4(l_10, g_11 <= safe_mul_func_uint8_t_u_u((g_11 , *l_745 = safe_lshift_func_int16_t_s_u(safe_rshift_func_uint16_t_u_s(func_18(*l_25 = func_20(g_11, l_10 != (*l_25 = (g_11 , (void*)0)), g_11, l_10)), g_176.f2), g_268) >= 0xD800L) >= l_746, *g_498) | l_746, g_488.f0, *g_497, g_475.f0) && g_474.f0, g_471[6][3][4].f0)) ;
return g_491.f0;
}
static uint16_t func_4(int8_t * p_5, uint32_t p_6, const uint32_t p_7, int8_t * p_8, uint32_t p_9) {
/* block id: 420 */ int16_t l_747 = 0x7FBFL;
return l_747;
}
static uint16_t func_18(int8_t * p_19) {
/* block id: 5 */ const int16_t l_32[10][2] ;
int32_t *l_545 = &g_546[0];
*l_545 ^= safe_lshift_func_uint16_t_u_s((safe_mod_func_int32_t_s_s , l_32[2][1]), safe_div_func_uint8_t_u_u(l_32[2][1] & func_35(func_38(safe_mul_func_int16_t_s_s(g_11, g_11), g_43), l_32[2][1]), 0x40L)) == l_32[2][1];
for (g_494.f1 = 0;
g_494.f1 < -19;
g_494.f1--) ;
return g_480.f0;
}
static int8_t * func_20(uint32_t p_21, int16_t p_22, int16_t p_23, int8_t * p_24) {
/* block id: 2 */ int8_t *l_27 = 0;
return l_27;
}
static int8_t func_35(int8_t * p_36, uint64_t p_37) {
return *p_36;
}
static int8_t * func_38(uint8_t p_39, int8_t ** p_40) {
/* block id: 6 */ int32_t *l_47 = &g_48;
int8_t *l_220 = &g_11;
*g_150 = func_45(l_47);
return l_220;
}
static int32_t * func_45(int32_t * p_46) {
/* block id: 7 */ int32_t l_59 = 1L;
int32_t l_60[9][7][4] ;
int8_t **l_73 = &g_44[1];
for (g_48 = 0;
g_48 <= 13;
g_48 = safe_add_func_int16_t_s_s(g_48, 4)) {
int32_t *l_57[9][2][3] ;
l_59 = (g_66[4] , func_67(l_57[8][1][0], +l_60[4][5][3], l_73, func_74(&g_56), &l_60[5][2][0])) >= l_59 > 0x56854BC1L == l_60[8][1][3] , *p_46;
}
return *g_150;
}
static int16_t func_67(int32_t * p_68, int16_t p_69, int8_t ** p_70, int8_t ** p_71, int32_t * p_72) {
return p_69;
}
static int8_t ** func_74(int32_t * p_75) {
/* block id: 13 */ int8_t **l_92 = &g_44[1];
int32_t l_95[6][6][4] ;
for (g_56 = 0;
g_56 > -1;
g_56 = safe_sub_func_int8_t_s_s(g_56, 7)) {
/* block id: 16 */ uint32_t l_78 = 2UL;
int32_t * const l_91 = &g_56;
int8_t **l_94 = &g_44[1];
for (l_78 = 0;
l_78 < 4;
l_78++) {
/* block id: 20 */ union U1 *l_146 = &g_144;
for (g_84[5][5][3] = 2;
g_84[5][5][3] <= 8;
g_84[5][5][3] += 1) {
/* block id: 23 */ int8_t ***l_93[6][4][8] ;
union U1 **l_145 = &g_143;
int32_t l_149 = 0xF1AC8BC5L;
l_149 |= g_106.f0 ^= (func_85(l_91, l_94 = l_92, g_66[g_84[5][5][3]], l_95[2][4][3], l_95[5][2][0]) , (*l_145 = g_143) != l_146) | g_84[5][5][3];
}
}
}
return l_92;
}
static struct U3 func_85(int32_t * const p_86, int8_t ** p_87, union U1 p_88, uint64_t p_89, int32_t p_90) {
int8_t l_99[1][6] ;
uint16_t l_100[9] ;
lbl_142: ++l_100[4];
for (p_89 = 0;
p_89 >= 46;
p_89++) {
if (g_83[0][3]) {
/* block id: 30 */ union U1 l_122 ;
int32_t l_136[3][1];
int i, j;
for (i = 0;
i < 3;
i++)
for (p_88.f1 = 0;
p_88.f1 <= 0;
p_88.f1 += 1) ;
}
if (g_56) goto lbl_142;
}
return g_141;
}
void main (void) {
int print_hash_value = 0;
func_1();
platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
0;
}
// this should reproduce the crash:
// /loc/kees/creduce/creduce/../clang_delta/clang_delta --transformation=reduce-array-dim --counter=5 /home/kees/reduce/csmith-3755863044/clang_delta_crash_tmp_fileu4uygl.c