On Tue, May 11, 2010 at 09:31, Eric Brine <ikegami@adaelis.com> wrote: > On Tue, May 11, 2010 at 10:22 AM, <hv@crypt.org> wrote: >> >> Now submitted as <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44081>. > > Did you nonnull the wrong parameter? Looks like it from the test: static OP* test(void* v, OP* o, OP *o2) __attribute__((nonnull(2))); Ok o2 is marked nonull so it makes sense passing in NULL segfaults. S_is_inplace_av is defined as: STATIC OP* S_is_inplace_av(pTHX_ OP* o, OP* oright) __attribute__nonnull__(pTHX_1); And If I read the macros right that should be OP* o is marked nonnull while oright is not marked nonnull. Granted I may have misunderstood the expansion....Thread Previous | Thread Next