[squid-dev] Build failed in Jenkins: 3.HEAD-amd64-centos-7-clang #130

Amos Jeffries squid3 at treenet.co.nz
Fri Dec 19 20:55:55 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 20/12/2014 9:11 a.m., Kinkie wrote:
>> nas_ipaddr = (__extension__ ({ register unsigned int __v, __x =
>> (salocal.sin_addr.s_addr); if (__builtin_constant_p (__x)) __v =
>> ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) |
>> (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else
>> __asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); __v; })); 
>> ^~~~~~~~~ 18 errors generated.
> [...]
> 
> 
>> configure: BUILD Tools C++ FLAGS:  -g -O2 -std=c++11 
>> ../../../../helpers/basic_auth/RADIUS/radius-util.cc:152:30:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/radius-util.cc:152:30:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] make[4]: *** [radius-util.o]
>> Error 1 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:175:34:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:175:34:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:370:28:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:370:28:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:380:28:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:380:28:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:400:32:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:400:32:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:414:38:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:414:38:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:544:38:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:544:38:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:562:50:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:562:50:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:563:43:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:563:43:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:580:36:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] 
>> ../../../../helpers/basic_auth/RADIUS/basic_radius_auth.cc:580:36:
>> error: 'register' storage class specifier is deprecated
>> [-Werror,-Wdeprecated-register] make[4]: ***
>> [basic_radius_auth.o] Error 1 make[3]: *** [all-recursive] Error
>> 1 make[2]: *** [all-recursive] Error 1 make[1]: ***
>> [all-recursive] Error 1 make: *** [distcheck] Error 1 Build
>> FAILED. Build step 'Execute shell' marked build as failure
> 
> Doh! The offending 'register' declaration is in a system header
> (htonl etc) The possibilities I see are: 1.
> -Wno-deprecated-register 2. #define register at the beginning of
> the file
> 
> What do you think?
> 


ntohl() is a pretty common macro in networking code like Squid. We
have it in many other places.

I think a clang-specific -Wno-deprecated-register is appropriate, with
a dated note that its required by CentOS7 for ntohl() to compile.

Amos
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)

iQEcBAEBAgAGBQJUlJDbAAoJELJo5wb/XPRjP68IAITz0Z/oNo+sRGjJaUpy75RN
A/H9d70OOiPi1VUfSNl7C+FRwwn59qXM//7niYVPHilp2/48+IQAWWfPt/pEwAv5
bc+HbmhZIwJOkezhBeoGYk07/FPqNwNtbcEgpogBvkSxsYm7qy4wbjbXrV8OJQHB
+ylJnKqFMNdZAsjnUwqgtazFkUPjL1EjAHVpUE/wVIW7Qlmp5BJLgh/lO/Fxa6ml
iWMv009Yesg9QRLutPif7UdYTQk7mOoFD2iHDWUkwdL3ljjJJ4lLGqx7GVp6U2JZ
6/kkTmBfEQW9Pou2Sa44qq/Z8rMD8yGcfRdF765byNcZ+CWUDzPn8nFuAvwvJqg=
=4JRa
-----END PGP SIGNATURE-----


More information about the squid-dev mailing list