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/10/18 02:49:50 UTC

[jira] Commented: (STDCXX-469) std::locale::facet ctor and dtor public, should be protected

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

Martin Sebor commented on STDCXX-469:
-------------------------------------

As noted in the following post:
http://www.nabble.com/difference-in-exported-symbols-between-4.1.3-and-4.2.0-15d-dll%27s-%28MSVC-7.1%29-tf4641636.html
the patch committed at rev #554070 (http://svn.apache.org/viewcvs?view=rev&rev=554070) introduces a binary incompatibility when the library is compiled with MSVC (or Intel C++) on Windows because the dang compiler mangles the access specifier into member names.

A patch that reverts the change just for friggin' MSVC (and Intel C++) on Windows is in this post:
http://www.nabble.com/-PATCH--__rw_facet-ctor-dtor-ABI-change-with-MSVC-tf4643799.html

> std::locale::facet ctor and dtor public, should be protected
> ------------------------------------------------------------
>
>                 Key: STDCXX-469
>                 URL: https://issues.apache.org/jira/browse/STDCXX-469
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.1.2, 4.1.3
>         Environment: all
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>             Fix For: 4.2
>
>
> The program below compiles even though it shouldn't because according to [locale.facet], p1, std::locale::facet ctor and dtor are both supposed to be protected:
> $ cat t.cpp && make t
> #include <locale>
> int main ()
> {
>     std::locale::facet f;
> }
> gcc -c -I/build/sebor/stdcxx/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/stdcxx/include -I/build/sebor/stdcxx-gcc-4.1.0-11s/include -I/build/sebor/stdcxx/tests/include  -pedantic -nostdinc++ -g  -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long   t.cpp
> gcc t.o -o t -L/build/sebor/stdcxx-gcc-4.1.0-11s/rwtest -lrwtest11s  -L/build/sebor/stdcxx-gcc-4.1.0-11s/lib  -lstd11s -lsupc++ -lm 

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