Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
4.2.1
-
None
-
gcc 4.3.0 / Ubuntu 8.04
-
Compiler Error
Description
The regression tests of the asio library from boost are failed to compile 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.
test.cpp
#include <limits.h>
$ 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
Attachments
Issue Links
- is related to
-
STDCXX-768 [gcc 4.3.0] error: no include path in which to search for limits.h
- Resolved