Using the "regex" module, I had the error

 #error "Add case for new bitset_word_t size"

from regex_internal.h when using pcc under NetBSD.

$ pcc --version
pcc 1.2.0.DEVEL 20141228 for x86_64--netbsd

The problem appears to be that the C preprocessor thinks that
ULONG_MAX is a negative value. With

#if 0xffffffffffffffffUL < 0
#warning OK
#endif

the message "OK" is printed. This appears to be the same bug mentioned here:

http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00045.html

I recommend that NOTHING BE DONE about this failure. I write this
email, not to get a fix, but to stop others spending time if they have
the same problem.

The amount of workarounds for bugs and non-comformance to standards
should reduce over time, not increase (maybe one beautiful day there
won't even be a need for gnulib), which won't happen if people keep on
writing new buggy, defective compilers from scratch. Adding
portability workarounds for these new compilers just encourages people
to use them.

Earlier on pcc on this mailing list:

http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00205.html
http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00110.html

Reply via email to