public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context
@ 2010-10-20 21:14 potswa at mac dot com
  2010-10-20 21:15 ` [Bug c++/46105] " potswa at mac dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: potswa at mac dot com @ 2010-10-20 21:14 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: Ordering failure among partial specializations with
                    non-deduced context
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: potswa@mac.com


See attachment.

The second arguments of the two partial specializations evaluate to "void." If
void is substituted manually, the code works fine. (But the desired SFINAE side
effect is removed.)

As neither such argument contains a parameter in a deduced context, they should
not participate in deduction. Once the partial specialization has been
determined to match, the parameters should be substituted and evaluated to
simply void.


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
@ 2010-10-20 21:15 ` potswa at mac dot com
  2010-10-20 21:18 ` potswa at mac dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: potswa at mac dot com @ 2010-10-20 21:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from David Krauss <potswa at mac dot com> 2010-10-20 21:15:27 UTC ---
Created attachment 22098
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22098
small example


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
  2010-10-20 21:15 ` [Bug c++/46105] " potswa at mac dot com
@ 2010-10-20 21:18 ` potswa at mac dot com
  2010-10-20 21:39 ` redi at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: potswa at mac dot com @ 2010-10-20 21:18 UTC (permalink / raw)
  To: gcc-bugs

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

David Krauss <potswa at mac dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #22098|0                           |1
        is obsolete|                            |

--- Comment #2 from David Krauss <potswa at mac dot com> 2010-10-20 21:18:02 UTC ---
Created attachment 22099
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22099
third time's a charm… content type autodetect failed


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
  2010-10-20 21:15 ` [Bug c++/46105] " potswa at mac dot com
  2010-10-20 21:18 ` potswa at mac dot com
@ 2010-10-20 21:39 ` redi at gcc dot gnu.org
  2010-10-27 20:53 ` pinskia at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2010-10-20 21:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-20 21:39:23 UTC ---
(you can edit an existing attachment to set the content type)

thanks for the nice minimal testcase, that's very useful

I *think* this is a dup of another bug I've seen in bugzilla but I can't find
it right now


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (2 preceding siblings ...)
  2010-10-20 21:39 ` redi at gcc dot gnu.org
@ 2010-10-27 20:53 ` pinskia at gcc dot gnu.org
  2010-10-27 21:04 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2010-10-27 20:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2010-10-27 20:53:14 UTC ---
The error message that GCC gives is:
t.cc:25:22: error: ambiguous class template instantiation for ‘struct
element<const has_et>’
t.cc:12:8: error: candidates are: struct element<T, typename empty<typename
T::element_type>::type>
t.cc:17:8: error:                 struct element<const T, typename
empty<typename T::element_type>::type>
t.cc:25:1: error: ‘type’ in class ‘element<const has_et>’ does not name a type


T is "const has_et" for the first candidate and T is has_et for the second. 
Maybe I am missing something here but both T's have an element_type.


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (3 preceding siblings ...)
  2010-10-27 20:53 ` pinskia at gcc dot gnu.org
@ 2010-10-27 21:04 ` redi at gcc dot gnu.org
  2011-09-25 12:57 ` paolo.carlini at oracle dot com
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: redi at gcc dot gnu.org @ 2010-10-27 21:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-27 21:03:50 UTC ---
I think the point is that the element<T const> partial specialization should be
preferred, but GCC considers them ambiguous, and uses the primary template.


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (4 preceding siblings ...)
  2010-10-27 21:04 ` redi at gcc dot gnu.org
@ 2011-09-25 12:57 ` paolo.carlini at oracle dot com
  2011-09-26 18:30 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-25 12:57 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-09-25 12:49:59 UTC ---
Jason, is this the same as PR45012?


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (5 preceding siblings ...)
  2011-09-25 12:57 ` paolo.carlini at oracle dot com
@ 2011-09-26 18:30 ` jason at gcc dot gnu.org
  2011-09-26 20:02 ` paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2011-09-26 18:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> 2011-09-26 18:24:36 UTC ---
It looks the same to me.


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (6 preceding siblings ...)
  2011-09-26 18:30 ` jason at gcc dot gnu.org
@ 2011-09-26 20:02 ` paolo.carlini at oracle dot com
  2011-09-27  2:20 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-26 20:02 UTC (permalink / raw)
  To: gcc-bugs

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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |paolo.carlini at oracle dot
                   |                            |com
         Resolution|                            |DUPLICATE

--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-09-26 18:28:15 UTC ---
Thanks, let's resolve as duplicate.

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


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (7 preceding siblings ...)
  2011-09-26 20:02 ` paolo.carlini at oracle dot com
@ 2011-09-27  2:20 ` jason at gcc dot gnu.org
  2011-09-27  2:22 ` jason at gcc dot gnu.org
  2011-09-27  2:24 ` jason at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2011-09-27  2:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Jason Merrill <jason at gcc dot gnu.org> 2011-09-27 02:12:55 UTC ---
Author: jason
Date: Tue Sep 27 02:12:51 2011
New Revision: 179229

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179229
Log:
    PR c++/46105
    * typeck.c (structural_comptypes): Ignore cv-quals on typename scope.

Added:
    trunk/gcc/testsuite/g++.dg/template/partial12.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (8 preceding siblings ...)
  2011-09-27  2:20 ` jason at gcc dot gnu.org
@ 2011-09-27  2:22 ` jason at gcc dot gnu.org
  2011-09-27  2:24 ` jason at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2011-09-27  2:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Jason Merrill <jason at gcc dot gnu.org> 2011-09-27 02:19:09 UTC ---
Author: jason
Date: Tue Sep 27 02:19:05 2011
New Revision: 179232

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179232
Log:
    PR c++/46105
    * typeck.c (structural_comptypes): Ignore cv-quals on typename scope.

Added:
    branches/gcc-4_6-branch/gcc/testsuite/g++.dg/template/partial12.C
Modified:
    branches/gcc-4_6-branch/gcc/cp/ChangeLog
    branches/gcc-4_6-branch/gcc/cp/typeck.c
    branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


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

* [Bug c++/46105] Ordering failure among partial specializations with non-deduced context
  2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
                   ` (9 preceding siblings ...)
  2011-09-27  2:22 ` jason at gcc dot gnu.org
@ 2011-09-27  2:24 ` jason at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2011-09-27  2:24 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|DUPLICATE                   |FIXED
         AssignedTo|unassigned at gcc dot       |jason at gcc dot gnu.org
                   |gnu.org                     |
   Target Milestone|---                         |4.6.2

--- Comment #11 from Jason Merrill <jason at gcc dot gnu.org> 2011-09-27 02:21:53 UTC ---
Fixed.


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

end of thread, other threads:[~2011-09-27  2:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-20 21:14 [Bug c++/46105] New: Ordering failure among partial specializations with non-deduced context potswa at mac dot com
2010-10-20 21:15 ` [Bug c++/46105] " potswa at mac dot com
2010-10-20 21:18 ` potswa at mac dot com
2010-10-20 21:39 ` redi at gcc dot gnu.org
2010-10-27 20:53 ` pinskia at gcc dot gnu.org
2010-10-27 21:04 ` redi at gcc dot gnu.org
2011-09-25 12:57 ` paolo.carlini at oracle dot com
2011-09-26 18:30 ` jason at gcc dot gnu.org
2011-09-26 20:02 ` paolo.carlini at oracle dot com
2011-09-27  2:20 ` jason at gcc dot gnu.org
2011-09-27  2:22 ` jason at gcc dot gnu.org
2011-09-27  2:24 ` jason at gcc dot gnu.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).