public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/24298]  New: Libstdc++ uses anonymous enums, causing failures due to DR488
@ 2005-10-10 16:28 ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:29 ` [Bug libstdc++/24298] " ianmcc at physik dot rwth-aachen dot de
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: ianmcc at physik dot rwth-aachen dot de @ 2005-10-10 16:28 UTC (permalink / raw)
  To: gcc-bugs

g++ -c the attached sample fails with
/usr/include/g++/bits/stl_algo.h: In function `void
   std::__final_insertion_sort(_RandomAccessIter, _RandomAccessIter) [with
   _RandomAccessIter = __gnu_cxx::__normal_iterator<foo*, std::vector<foo,
   std::allocator<foo> > >]':
/usr/include/g++/bits/stl_algo.h:2181:   instantiated from `void
std::sort(_RandomAccessIter, _RandomAccessIter) [with _RandomAccessIter =
__gnu_cxx::__normal_iterator<foo*, std::vector<foo, std::allocator<foo> > >]'
testenum.cpp:21:   instantiated from here
/usr/include/g++/bits/stl_algo.h:2059: error: template-argument `
   std::<anonymous enum>' uses anonymous type
/usr/include/g++/bits/stl_algo.h:2181:   instantiated from `void
std::sort(_RandomAccessIter, _RandomAccessIter) [with _RandomAccessIter =
__gnu_cxx::__normal_iterator<foo*, std::vector<foo, std::allocator<foo> > >]'
testenum.cpp:21:   instantiated from here
/usr/include/g++/bits/stl_algo.h:2060: error: template-argument `
   std::<anonymous enum>' uses anonymous type

The problem: std::sort (and other components of libstdc++) use anonymmous
enumerations for private constants.  However if there is a template
operator/function in an associated namespace that uses SFINAE, it will fail
according to 14.3.1/2.

The resolution of DR-488 will surely fix this, presumably by making the
substitution fail (without error), but irrespective of this DR, I cannot find
anything in the standard that suggests that the attached code is
non-conforming.


-- 
           Summary: Libstdc++ uses anonymous enums, causing failures due to
                    DR488
           Product: gcc
           Version: 3.3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ianmcc at physik dot rwth-aachen dot de


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
@ 2005-10-10 16:29 ` ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:36 ` ianmcc at physik dot rwth-aachen dot de
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ianmcc at physik dot rwth-aachen dot de @ 2005-10-10 16:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from ianmcc at physik dot rwth-aachen dot de  2005-10-10 16:29 -------
Created an attachment (id=9951)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9951&action=view)
std::sort example


-- 


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:29 ` [Bug libstdc++/24298] " ianmcc at physik dot rwth-aachen dot de
@ 2005-10-10 16:36 ` ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:39 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ianmcc at physik dot rwth-aachen dot de @ 2005-10-10 16:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from ianmcc at physik dot rwth-aachen dot de  2005-10-10 16:36 -------
See also bug #[20589]


-- 


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:29 ` [Bug libstdc++/24298] " ianmcc at physik dot rwth-aachen dot de
  2005-10-10 16:36 ` ianmcc at physik dot rwth-aachen dot de
@ 2005-10-10 16:39 ` pinskia at gcc dot gnu dot org
  2005-10-10 16:44 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-10 16:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2005-10-10 16:39 -------
I think this has already been fixed but I cannot find the bug reports about
this.

Your testcases works with the mainline, and with 3.4.0.

There is another DR report about this issue too.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.3.3
      Known to work|                            |3.4.0 4.1.0


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
                   ` (2 preceding siblings ...)
  2005-10-10 16:39 ` pinskia at gcc dot gnu dot org
@ 2005-10-10 16:44 ` pinskia at gcc dot gnu dot org
  2005-10-10 16:50 ` ianmcc at physik dot rwth-aachen dot de
  2005-10-10 17:09 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-10 16:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2005-10-10 16:44 -------
I think this is a dup of bug 21244 which was fixed for 4.0.1.


-- 


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
                   ` (3 preceding siblings ...)
  2005-10-10 16:44 ` pinskia at gcc dot gnu dot org
@ 2005-10-10 16:50 ` ianmcc at physik dot rwth-aachen dot de
  2005-10-10 17:09 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: ianmcc at physik dot rwth-aachen dot de @ 2005-10-10 16:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from ianmcc at physik dot rwth-aachen dot de  2005-10-10 16:50 -------
Sorry.  I searched for 'anonymous enum', but for some reason that doesn't find
bug 21244 (a bugzilla bug?).


-- 


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


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

* [Bug libstdc++/24298] Libstdc++ uses anonymous enums, causing failures due to DR488
  2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
                   ` (4 preceding siblings ...)
  2005-10-10 16:50 ` ianmcc at physik dot rwth-aachen dot de
@ 2005-10-10 17:09 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-10 17:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pinskia at gcc dot gnu dot org  2005-10-10 17:09 -------


*** This bug has been marked as a duplicate of 21244 ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE


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


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

end of thread, other threads:[~2005-10-10 17:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-10 16:28 [Bug libstdc++/24298] New: Libstdc++ uses anonymous enums, causing failures due to DR488 ianmcc at physik dot rwth-aachen dot de
2005-10-10 16:29 ` [Bug libstdc++/24298] " ianmcc at physik dot rwth-aachen dot de
2005-10-10 16:36 ` ianmcc at physik dot rwth-aachen dot de
2005-10-10 16:39 ` pinskia at gcc dot gnu dot org
2005-10-10 16:44 ` pinskia at gcc dot gnu dot org
2005-10-10 16:50 ` ianmcc at physik dot rwth-aachen dot de
2005-10-10 17:09 ` pinskia at gcc dot gnu dot org

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).