You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2007/11/03 01:06:51 UTC

[jira] Commented: (STDCXX-637) [_MSC_VER] 21.cwchar test fails

    [ https://issues.apache.org/jira/browse/STDCXX-637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12539749 ] 

Martin Sebor commented on STDCXX-637:
-------------------------------------

I'm not what the best approach to the first set of assertions (the ones for the shadow macros) is. The macros are usually provided for efficiency and rarely cause problems so I don't feel comfortable #undefining them just to satisfy strict conformance requirements and penalizing programs that don't run into any name clashes because of them. One option for dealing with them might be to undefine the macros in strict mode and leaving them alone otherwise (and doing the same in the test -- i.e., adjust the strictness of the test based on the strictness of the library).

As for the rest of the assertions (i.e., those for the undefined symbols), unless there actually is something we can do about them (e.g., provide our own definitions), I think replacing the assertions with warnings might be the way to go.

> [_MSC_VER] 21.cwchar test fails
> -------------------------------
>
>                 Key: STDCXX-637
>                 URL: https://issues.apache.org/jira/browse/STDCXX-637
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.2
>         Environment: MSVC, ICC/Windows
>            Reporter: Farid Zaripov
>            Priority: Minor
>
> The 21.cwchar.cpp test fails with the following assertions:
> -----------
> # ASSERTION (S7) (4 lines):
> # TEXT: masking macro getwc unexpectedly defined
> # CLAUSE: lib.c.strings
> # LINE: 512
> # ASSERTION (S7) (4 lines):
> # TEXT: masking macro putwc unexpectedly defined
> # CLAUSE: lib.c.strings
> # LINE: 512
> # ASSERTION (S7) (4 lines):
> # TEXT: std::wcstok() not declared (_RWSTD_NO_WCSTOK = 0, _RWSTD_NO_WCSTOK_IN_LIBC = 0)
> # CLAUSE: lib.c.strings
> # LINE: 916
> -----------
> Also there are another assertions (see below), but I think these assertions should be avoided when _RWSTD_NO_XXX == 1 && _RWSTD_NO_XXX_IN_LIBC == 1
> -----------
> # ASSERTION (S7) (4 lines):
> # TEXT: std::btowc() not declared (_RWSTD_NO_BTOWC = 1, _RWSTD_NO_BTOWC_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 942
> # ASSERTION (S7) (4 lines):
> # TEXT: std::wctob() not declared (_RWSTD_NO_WCTOB = 1, _RWSTD_NO_WCTOB_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 943
> # ASSERTION (S7) (4 lines):
> # TEXT: std::mbrlen() not declared (_RWSTD_NO_MBRLEN = 1, _RWSTD_NO_MBRLEN_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 948
> # ASSERTION (S7) (4 lines):
> # TEXT: std::mbrtowc() not declared (_RWSTD_NO_MBRTOWC = 1, _RWSTD_NO_MBRTOWC_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 949
> # ASSERTION (S7) (4 lines):
> # TEXT: std::wcrtomb() not declared (_RWSTD_NO_WCRTOMB = 1, _RWSTD_NO_WCRTOMB_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 950
> # ASSERTION (S7) (4 lines):
> # TEXT: std::mbsrtowcs() not declared (_RWSTD_NO_MBSRTOWCS = 1, _RWSTD_NO_MBSRTOWCS_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 952
> # ASSERTION (S7) (4 lines):
> # TEXT: std::wcsrtombs() not declared (_RWSTD_NO_WCSRTOMBS = 1, _RWSTD_NO_WCSRTOMBS_IN_LIBC = 1)
> # CLAUSE: lib.c.strings
> # LINE: 953
> -----------

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.