[asio] read_until.cpp fails to compile on HP-UX_ia64_gcc

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

Boris Gubenko wrote:
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__)
I was hoping not to require that #define, but for now I will add _XOPEN_SOURCE_EXTENDED to the asio Jamfiles.
And what was the change that broke HP-UX_ia64_gcc ?
I don't know, but I'd guess a change in the #includes of some other boost header which asio includes, since from previous experience that HP-UX compile error is sensitive to the order of system #includes. Cheers, Chris
participants (2)
-
Boris Gubenko
-
Christopher Kohlhoff