[gcc 4.3.0] /usr/include/limits.h has not been included from include/ansi/limits.h ----------------------------------------------------------------------------------
Key: STDCXX-988 URL: https://issues.apache.org/jira/browse/STDCXX-988 Project: C++ Standard Library Issue Type: Bug Components: Build and Installation Affects Versions: 4.2.1 Environment: gcc 4.3.0 / Ubuntu 8.04 Reporter: Farid Zaripov Priority: Blocker Fix For: 4.2.2 The regression tests of the asio library from boost are [failed to compile|http://beta.boost.org/development/tests/trunk/developer/output/gcc-4-3-0-stdcxx-4-2-2_x86_64-boost-bin-v2-libs-asio-test-basic_datagram_socket-test-gcc-4-3-0_stdcxx_422-debug-address-model-64-architecture-x86-instruction-set-nocona-stdlib-stdcxx-4-2-2-threading-multi.html] due to undefined symbol IOV_MAX. According to POSIX this symbol should be defined in <limits.h> header. But when compiling with stdcxx the /usr/include/limits.h file has not been included at all. {code:title=test.cpp} #include <limits.h> {code} {noformat} $ gcc -E test.cpp -I/var/tmp/stdcxx/4.2.x/include -I/var/tmp/stdcxx/4.2.x/include/ansi -I/var/tmp/stdcxx/4.2.x/15D/include # 1 "test.cpp" # 1 "<built-in>" # 1 "<command-line>" # 1 "test.cpp" # 1 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" 1 # 33 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" # 1 "/var/tmp/stdcxx/4.2.x/include/rw/_defs.h" 1 # 36 "/var/tmp/stdcxx/4.2.x/include/rw/_defs.h" # 1 "/var/tmp/stdcxx/4.2.x/include/rw/_config.h" 1 # 36 "/var/tmp/stdcxx/4.2.x/include/rw/_config.h" # 1 "/var/tmp/stdcxx/4.2.x/15D/include/config.h" 1 # 37 "/var/tmp/stdcxx/4.2.x/include/rw/_config.h" 2 # 206 "/var/tmp/stdcxx/4.2.x/include/rw/_config.h" # 1 "/var/tmp/stdcxx/4.2.x/include/rw/_config-gcc.h" 1 # 207 "/var/tmp/stdcxx/4.2.x/include/rw/_config.h" 2 # 37 "/var/tmp/stdcxx/4.2.x/include/rw/_defs.h" 2 # 1140 "/var/tmp/stdcxx/4.2.x/include/rw/_defs.h" namespace __rw { extern "C++" { template <bool __b> struct __rw_compile_assert; template<> struct __rw_compile_assert<true> { enum { _C_ok }; }; void __rw_assert_fail (const char*, const char*, int, const char*) __attribute__ ((noreturn)); } } # 1549 "/var/tmp/stdcxx/4.2.x/include/rw/_defs.h" namespace std { } # 34 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" 2 # 106 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" # 107 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.0/include-fixed/limits.h" 1 3 4 # 11 "/usr/lib/gcc/x86_64-linux-gnu/4.3.0/include-fixed/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.0/include-fixed/syslimits.h" 1 3 4 # 1 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" 1 3 4 <------ Here should be /usr/include/limits.h # 8 "/usr/lib/gcc/x86_64-linux-gnu/4.3.0/include-fixed/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc/x86_64-linux-gnu/4.3.0/include-fixed/limits.h" 2 3 4 # 112 "/var/tmp/stdcxx/4.2.x/include/ansi/limits.h" 2 3 # 1 "test.cpp" 2 {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.