
A couple of days ago (don't know exactly when), two asio library tests based on single source -- read_until.cpp -- started to fail to compile on HP-UX_ia64_gcc as the following: ../boost/asio/detail/socket_ops.hpp: In function 'int boost::asio::detail::socket_ops::select(int, fd_set*, fd_set*, fd_set*, timeval*, boost::system::error_code&)': ../boost/asio/detail/socket_ops.hpp:634: error: cannot convert 'fd_set*' to 'int*' for argument '2' to 'int select(size_t, int*, int*, int*, const timeval*)' While compilation error is obvious and can be eliminated by compiling with _XOPEN_SOURCE_EXTENDED macro defined, I could not figure out by looking at SVN log what changes have caused it. I verified that with _XOPEN_SOURCE_EXTENDED macro defined, all asio library tests pass on HP-UX_ia64_gcc. On another HP-UX/gcc platform participating in Boost testing -- HP-UX_pa_risc_gcc -- they pass with and without this macro defined. The platform details: HP-UX_ia64_gcc : HP-UX 11.23 ia64 with gcc 4.2.1 HP-UX_pa_risc_gcc : HP-UX 11.11 PA-RISC with gcc 3.4.2 Is it expected that asio library tests on HP-UX/gcc should be compiled with _XOPEN_SOURCE_EXTENDED macro defined? (for example, for SOLARIS, asio/test/Jamfile.v2 defines _XOPEN_SOURCE=500 and __EXTENSIONS__) And what was the change that broke HP-UX_ia64_gcc ? Thanks, Boris