|
Message-ID: <alpine.LNX.2.11.1504210232480.2677@monopod.intra.ispras.ru> Date: Tue, 21 Apr 2015 02:56:27 +0300 (MSK) From: Alexander Monakov <amonakov@...ras.ru> To: musl@...ts.openwall.com Subject: Re: x86_64 and x32 fail to build > When building without --enable-warnings, there are many false positives from > -Wpointer-to-int-cast about x32 __scc(); at least from 4.5 onwards GCC enables > this warning by default, so perhaps if musl really wants to silence it, it > should test the corresponding -Wno-... flag outside of x$warnings == xyes > test? Could it be possible that implementation of __scc() can be adjusted to avoid triggering the warning? I hoped the following would achieve that: // Cast X to signed integral type of corresponding size #define __scc1(X) (__typeof__((X)-(__typeof__(1?(X):0))0)) (X) #define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) __scc1(X) : (long long) __scc1(X) ... but unfortunately it doesn't work with -Werror=pointer-arith when type of X is 'void *'. Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.