tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ctype(3), again



In article <20190114144432.bvoej5ug6bsroild@danbala>,
Thomas Klausner  <tk%giga.or.at@localhost> wrote:
>Hi!
>
>When compiling some software (like finance/gnucash) with clang 7.0.0
>(but not with gcc!) on NetBSD-8.99.30/amd64, compilation fails with:
>
>(this one's from www/tidy because I don't have the gnucash error handy):
>
>array subscript is of type 'char' [-Wchar-subscripts]
>...
>/usr/include/sys/ctype_inline.h:59:46: note: expanded from macro 'tolower'
>#define tolower(c)      ((int)((_tolower_tab_ + 1)[(c)]))
>                                                  ^~~~
>
>The standard workaround is to cast arguments to (unsigned char). I've
>provided patches for gnucash for that, but they received pushback
>because the compiler shouldn't error out on this undefined behaviour.
>(gnucash upstream is happy with it dumping core at runtime)
>
>Here's the bug report with more details.
>
>https://bugs.gnucash.org/show_bug.cgi?id=797039
>
>Is there something we can improve in the NetBSD headers so that clang
>doesn't behave more pickily and gcc in this case?
> Thomas

-Wno-char-subscripts for gnucash.. :-)

christos



Home | Main Index | Thread Index | Old Index