You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Travis Vitek (JIRA)" <ji...@apache.org> on 2007/09/07 22:39:31 UTC
[jira] Updated: (STDCXX-436) [Linux] MB_LEN_MAX incorrect
[ https://issues.apache.org/jira/browse/STDCXX-436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Travis Vitek updated STDCXX-436:
--------------------------------
Attachment: stdcxx-436.patch
2007-09-07 Travis Vitek <vi...@roguewave.com>
STDCXX-436
limits.h (MB_LEN_MAX): redefine MB_LEN_MAX if the current
value is different from the configured value.
climits (MB_LEN_MAX): ditto.
> [Linux] MB_LEN_MAX incorrect
> ----------------------------
>
> Key: STDCXX-436
> URL: https://issues.apache.org/jira/browse/STDCXX-436
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 18. Language Support
> Affects Versions: 4.1.3
> Environment: gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)
> Reporter: Mark Brown
> Assignee: Travis Vitek
> Priority: Critical
> Fix For: 4.2
>
> Attachments: stdcxx-436.patch
>
>
> On my Linux system MB_LEN_MAX is normally defined to 16 but when I use the macro in a program compiled with stdcxx the macro evaluates to 1. The test case goes like this:
> $ cat test.cpp && make CPPOPTS="-DGETCONF_MB_LEN_MAX=`getconf MB_LEN_MAX`" test && ./test
> #include <assert.h>
> #include <limits.h>
> int main ()
> {
> assert (MB_LEN_MAX == GETCONF_MB_LEN_MAX);
> }
> gcc -c -I/home/mbrown/stdcxx/include/ansi -D_RWSTDDEBUG -I/home/mbrown/stdcxx/include -I/home/mbrown/stdcxx-gcc-4.1.1-11s/include -I/home/mbrown/stdcxx/examples/include -DGETCONF_MB_LEN_MAX=16 -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align test.cpp
> gcc u.o -o u -L/home/mbrown/stdcxx-gcc-4.1.1-11s/lib -lstd11s -lsupc++ -lm
> test: test.cpp:6: int main(): Assertion `1 == 16' failed.
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.