X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fpcsxmem.c;h=0a75442b0a151e50813f48e16de3820440a22d71;hp=3d149043a64238fc7f7242bbf48a639ed270a49b;hb=578c68827e20b1e4c0a1a6352dd4a74ab3d05ef2;hpb=c40ab498b5800eb0ccac887b53cd7450a304e2e8 diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c index 3d149043..0a75442b 100644 --- a/libpcsxcore/new_dynarec/pcsxmem.c +++ b/libpcsxcore/new_dynarec/pcsxmem.c @@ -30,7 +30,12 @@ static u32 mem_ffwtab[(1+2+4) * 0x1000 / 4]; //static u32 mem_unmrtab[(1+2+4) * 0x1000 / 4]; static u32 mem_unmwtab[(1+2+4) * 0x1000 / 4]; +// When this is called in a loop, and 'h' is a function pointer, clang will crash. +#ifdef __clang__ +static __attribute__ ((noinline)) void map_item(u32 *out, const void *h, u32 flag) +#else static void map_item(u32 *out, const void *h, u32 flag) +#endif { u32 hv = (u32)h; if (hv & 1) {