public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/53405] New: Enum-dependent class template instantiations not recognized
@ 2012-05-18 17:37 ibugs at qult dot net
  2012-05-18 19:49 ` [Bug c++/53405] " daniel.kruegler at googlemail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: ibugs at qult dot net @ 2012-05-18 17:37 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53405
           Summary: Enum-dependent class template instantiations not
                    recognized
    Classification: Unclassified
           Product: gcc
           Version: 4.6.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ibugs@qult.net


The following code compiles with GCC 4.4.6, doesn't with GCC 4.5.4 and 4.6.0,
but does again with 4.7.0.  I'm reporting this just in case the maintainers
aren't aware of it.

  enum Tags { some_tag };

  template <bool> struct BoolValue {};

  template <Tags T>
  struct Foo {
    BoolValue<T == some_tag> meth();
  };

  template <Tags T>
  BoolValue<T == some_tag> Foo<T>::meth() {}

The compiler complains about the return type of the method's definition being

  BoolValue<(T == (Tags)0u)>

and not

  BoolValue<(T == some_tag)>

which is clearly nonsense.


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

* [Bug c++/53405] Enum-dependent class template instantiations not recognized
  2012-05-18 17:37 [Bug c++/53405] New: Enum-dependent class template instantiations not recognized ibugs at qult dot net
@ 2012-05-18 19:49 ` daniel.kruegler at googlemail dot com
  2012-05-26 23:54 ` [Bug c++/53405] [4.5/4.6 Regression] " pinskia at gcc dot gnu.org
  2012-05-28 16:21 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 4+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2012-05-18 19:49 UTC (permalink / raw)
  To: gcc-bugs

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

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler at
                   |                            |googlemail dot com

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-05-18 18:29:28 UTC ---
gcc 4.8.0 HEAD also accepts the code


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

* [Bug c++/53405] [4.5/4.6 Regression] Enum-dependent class template instantiations not recognized
  2012-05-18 17:37 [Bug c++/53405] New: Enum-dependent class template instantiations not recognized ibugs at qult dot net
  2012-05-18 19:49 ` [Bug c++/53405] " daniel.kruegler at googlemail dot com
@ 2012-05-26 23:54 ` pinskia at gcc dot gnu.org
  2012-05-28 16:21 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-05-26 23:54 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
      Known to work|                            |4.4.6, 4.7.0, 4.8.0
   Target Milestone|---                         |4.5.4
            Summary|Enum-dependent class        |[4.5/4.6 Regression]
                   |template instantiations not |Enum-dependent class
                   |recognized                  |template instantiations not
                   |                            |recognized
      Known to fail|                            |4.5.4, 4.6.0


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

* [Bug c++/53405] [4.5/4.6 Regression] Enum-dependent class template instantiations not recognized
  2012-05-18 17:37 [Bug c++/53405] New: Enum-dependent class template instantiations not recognized ibugs at qult dot net
  2012-05-18 19:49 ` [Bug c++/53405] " daniel.kruegler at googlemail dot com
  2012-05-26 23:54 ` [Bug c++/53405] [4.5/4.6 Regression] " pinskia at gcc dot gnu.org
@ 2012-05-28 16:21 ` paolo.carlini at oracle dot com
  2 siblings, 0 replies; 4+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-05-28 16:21 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-05-28 16:17:35 UTC ---
Ok.


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

end of thread, other threads:[~2012-05-28 16:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-18 17:37 [Bug c++/53405] New: Enum-dependent class template instantiations not recognized ibugs at qult dot net
2012-05-18 19:49 ` [Bug c++/53405] " daniel.kruegler at googlemail dot com
2012-05-26 23:54 ` [Bug c++/53405] [4.5/4.6 Regression] " pinskia at gcc dot gnu.org
2012-05-28 16:21 ` paolo.carlini at oracle dot com

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