Hello GCC maintainers, Please find a smaller test-case.
smetana% gcc -O3 -Wall -g test.c -o test smetana% ./test zsh: segmentation fault ./test smetana% gcc -O3 -Wall -g test.c -o test -fno-inline smetana% ./test smetana% Cheers, -- Bill. <ballo...@debian.org> Imagine a large red swirl here.
#include <stdlib.h> inline void* pari_realloc(void *pointer, size_t size) { if (!pointer) return malloc(size); else return realloc(pointer,size); } typedef struct { long offset; size_t size; } pari_stack; inline void stack_init(pari_stack *s, size_t size, void **data) { s->offset = (char *)data-(char *)s; *data = NULL; s->size = size; } inline void stack_alloc(pari_stack *s) { void **sdat = (void **) ((char *)s+s->offset); *sdat = pari_realloc(*sdat,s->size); } static void ** MODULES; static pari_stack s_MODULES; void pari_init_functions(void) { stack_init(&s_MODULES, sizeof(*MODULES),(void**)&MODULES); stack_alloc(&s_MODULES); MODULES[0]=NULL; } int main(void) { pari_init_functions(); return 0; }