stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-988) [gcc 4.3.0] /usr/include/limits.h has not been included from include/ansi/limits.h
Date Mon, 07 Jul 2008 17:02:31 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611240#action_12611240
] 

Martin Sebor commented on STDCXX-988:
-------------------------------------

A couple of comments regarding {{IOV_MAX}}: First, the macro is an [XSI|http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_439]
extension to POSIX. Second, and more important, it is one of the [Runtime Invariant Values|http://www.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html#tag_13_24_03_01]
for which POSIX specifies that:
{quote}
A definition of one of the symbolic names in the following list shall be omitted from {{<limits.h>}}
on specific implementations where the corresponding value is equal to or greater than the
stated minimum, but is unspecified.
{quote}

> [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
>            Assignee: Martin Sebor
>            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.


Mime
View raw message