public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/30127]  New: std::has_facet returns true for not installed derived facets
@ 2006-12-09  0:30 sebor at roguewave dot com
  2006-12-11 13:49 ` [Bug libstdc++/30127] " bkoz at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: sebor at roguewave dot com @ 2006-12-09  0:30 UTC (permalink / raw)
  To: gcc-bugs

The program below is expected to run successfully to completion since there
is no MyCtype facet installed in the classic locale (and, in fact, no facet
of that type can exist since it doesn't have an accessible ctor).

$ cat u.cpp && g++ -dumpversion && g++ u.cpp -static && ./a.out
#include <cassert>
#include <locale>

struct MyCtype: std::ctype<char> { private: MyCtype (); };

int main ()
{
    assert (std::has_facet<std::ctype<char> >(std::locale::classic ()));
    assert (!std::has_facet<MyCtype>(std::locale::classic ()));
}
4.1.0
Assertion failed: !std::has_facet<MyCtype>(std::locale::classic ()), file
u.cpp, line 9
Abort (core dumped)


-- 
           Summary: std::has_facet returns true for not installed derived
                    facets
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sebor at roguewave dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
@ 2006-12-11 13:49 ` bkoz at gcc dot gnu dot org
  2007-12-14 19:32 ` bkoz at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2006-12-11 13:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from bkoz at gcc dot gnu dot org  2006-12-11 13:49 -------

Mine.


-- 

bkoz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-12-11 13:49:33
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
  2006-12-11 13:49 ` [Bug libstdc++/30127] " bkoz at gcc dot gnu dot org
@ 2007-12-14 19:32 ` bkoz at gcc dot gnu dot org
  2007-12-14 21:27 ` bkoz at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2007-12-14 19:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from bkoz at gcc dot gnu dot org  2007-12-14 19:32 -------
Subject: Bug 30127

Author: bkoz
Date: Fri Dec 14 19:32:03 2007
New Revision: 130941

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130941
Log:
2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/30127
        PR libstdc++/34449
        * include/bits/locale_classes.h (use_facet): Check facet hierarchy.
        (has_facet): Same.
        * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
        * testsuite/22_locale/global_templates/
        standard_facet_hierarchies.cc: New.


Added:
   
trunk/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
   
trunk/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/locale_classes.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
  2006-12-11 13:49 ` [Bug libstdc++/30127] " bkoz at gcc dot gnu dot org
  2007-12-14 19:32 ` bkoz at gcc dot gnu dot org
@ 2007-12-14 21:27 ` bkoz at gcc dot gnu dot org
  2007-12-25 14:55 ` pcarlini at suse dot de
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2007-12-14 21:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from bkoz at gcc dot gnu dot org  2007-12-14 21:27 -------
Subject: Bug 30127

Author: bkoz
Date: Fri Dec 14 21:27:09 2007
New Revision: 130944

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130944
Log:
2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/30127
        PR libstdc++/34449
        * include/bits/locale_classes.h (use_facet): Check facet hierarchy.
        (has_facet): Same.
        * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
        * testsuite/22_locale/global_templates/
        standard_facet_hierarchies.cc: New.


Added:
   
branches/gcc-4_2-branch/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
   
branches/gcc-4_2-branch/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
Modified:
    branches/gcc-4_2-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_2-branch/libstdc++-v3/include/bits/locale_facets.tcc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
                   ` (2 preceding siblings ...)
  2007-12-14 21:27 ` bkoz at gcc dot gnu dot org
@ 2007-12-25 14:55 ` pcarlini at suse dot de
  2008-01-05 11:07 ` paolo at gcc dot gnu dot org
  2008-01-05 11:26 ` pcarlini at suse dot de
  5 siblings, 0 replies; 7+ messages in thread
From: pcarlini at suse dot de @ 2007-12-25 14:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pcarlini at suse dot de  2007-12-25 14:55 -------
Fixed for 4.2.3.


-- 

pcarlini at suse dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.2.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
                   ` (3 preceding siblings ...)
  2007-12-25 14:55 ` pcarlini at suse dot de
@ 2008-01-05 11:07 ` paolo at gcc dot gnu dot org
  2008-01-05 11:26 ` pcarlini at suse dot de
  5 siblings, 0 replies; 7+ messages in thread
From: paolo at gcc dot gnu dot org @ 2008-01-05 11:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from paolo at gcc dot gnu dot org  2008-01-05 11:05 -------
Subject: Bug 30127

Author: paolo
Date: Sat Jan  5 11:04:43 2008
New Revision: 131334

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131334
Log:
2008-01-05  Paolo Carlini  <pcarlini@suse.de>

        PR libstdc++/34680

        Revert:
        2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
        * include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
        RTTI checks.

        2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/30127
        PR libstdc++/34449
        * include/bits/locale_facets.tcc (use_facet): Check facet hierarchy.
        (has_facet): Same.
        * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
        * testsuite/22_locale/global_templates/
        standard_facet_hierarchies.cc: New.

Removed:
   
branches/gcc-4_2-branch/libstdc++-v3/testsuite/22_locale/global_templates/standard_facet_hierarchies.cc
   
branches/gcc-4_2-branch/libstdc++-v3/testsuite/22_locale/global_templates/user_facet_hierarchies.cc
Modified:
    branches/gcc-4_2-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_2-branch/libstdc++-v3/include/bits/locale_facets.tcc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/30127] std::has_facet returns true for not installed derived facets
  2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
                   ` (4 preceding siblings ...)
  2008-01-05 11:07 ` paolo at gcc dot gnu dot org
@ 2008-01-05 11:26 ` pcarlini at suse dot de
  5 siblings, 0 replies; 7+ messages in thread
From: pcarlini at suse dot de @ 2008-01-05 11:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pcarlini at suse dot de  2008-01-05 11:05 -------
Fixed for 4.3.0 only, in the branch the patch has been reverted.


-- 

pcarlini at suse dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.2.3                       |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30127


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-01-05 11:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-09  0:30 [Bug libstdc++/30127] New: std::has_facet returns true for not installed derived facets sebor at roguewave dot com
2006-12-11 13:49 ` [Bug libstdc++/30127] " bkoz at gcc dot gnu dot org
2007-12-14 19:32 ` bkoz at gcc dot gnu dot org
2007-12-14 21:27 ` bkoz at gcc dot gnu dot org
2007-12-25 14:55 ` pcarlini at suse dot de
2008-01-05 11:07 ` paolo at gcc dot gnu dot org
2008-01-05 11:26 ` pcarlini at suse dot de

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).