On Thu, 24 Jul 2014, William D. Jones wrote: > First error of the night: > > # compile libiberty/regex.o > /mnt/lfs/NetBSD-CVS/src/../tools/bin/i486--netbsdelf-pcc -O2 -std=gnu99 > -Werror -Os -Wno-error=uninitialized -Wno-error=maybe-uninitialized > --sysroot=/mnt/lfs/NetBSD-CVS/src/../destdir/i386-pb -DHAVE_CONFIG_H > -I/mnt/lfs/NetBSD-CVS/src/external/gpl3/binutils/lib/libiberty/arch/i386 > -I/mnt/lfs/NetBSD-CVS/src/external/gpl3/binutils/dist/include -c > -Wno-stack-protector > /mnt/lfs/NetBSD-CVS/src/external/gpl3/binutils/dist/libiberty/regex.c -o > regex.o > /mnt/lfs/NetBSD-CVS/src/external/gpl3/binutils/dist/include/xregex2.h, line > 544: syntax error
I know about this one, this construct appears in a couple of places in GNU sources.. > The relevant lines which cause an error are here: > extern int regexec (const regex_t *__restrict __preg, > const char *__restrict __string, size_t __nmatch, > line 544: regmatch_t __pmatch[__restrict_arr], > int __eflags); > > With that being said, I guess this is a gcc extension-related error, > although I'm not sure how to fix it. Based upon lines 512 to 532, line > 544 should be defined to "regmatch_t __pmatch[__restrict]". Perhaps pcc > does not support that extension inside an array, but does elsewhere? Yes, it is a GCC extension to recognise the restrict keyword in an array declaration. I have not fully looked into it due to lack of time but I think it might be simple to support (ignore) regards, iain