[cmake-developers] Rogue7 dashboards and clang undefined behaviour

Sean McBride sean at rogue-research.com
Fri Jun 7 16:08:46 EDT 2013


On Tue, 4 Jun 2013 13:45:34 -0400, Brad King said:

>> 'CTestTestFdSetSize' is superficially happening in an OS header's macro:
>> 
>> static __inline int
>> __darwin_fd_isset(int _n, const struct fd_set *_p)
>> {
>> 	return (_p->fds_bits[_n/__DARWIN_NFDBITS] & (1<<(_n % __DARWIN_NFDBITS)));
>> }
>> 
>> where right right-hand side of the << is apparently 31. 
>__DARWIN_NFDBITS is 32.
>> 
>> Alas, gdb refuses to give me a backtrace.  But there are only 9
>FD_ISSET() in
>> CMake, anyone familiar with this test/code?
>
>The test covers CTest's ability to drive many child processes at once
>so the file descriptor set is getting filled up.  The FD_ISSET calls
>in Source/kwsys/ProcessUNIX.c will be the ones triggering this.  It
>looks to me like the bug is in the OS header macro because the "1<<"
>should be "1u<<".

Agreed.  I'll suppress both these tests and unsuppress them when the libarchive and Apple people fix their respective bugs.

Cheers,

-- 
____________________________________________________________
Sean McBride, B. Eng                 sean at rogue-research.com
Rogue Research                        www.rogue-research.com 
Mac Software Developer              Montréal, Québec, Canada





More information about the cmake-developers mailing list