public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/37177]  New: ICE on decltype(rel_ops::operator><int>);
@ 2008-08-20 11:55 chris dot fairles at gmail dot com
  2008-08-29  5:43 ` [Bug c++/37177] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: chris dot fairles at gmail dot com @ 2008-08-20 11:55 UTC (permalink / raw)
  To: gcc-bugs

The bug was discovered using the line in the summary, but a reduced test case
also produces the ICE:

namespace N1
{
  template<class T> bool foo(); }
}

int main()
{
  decltype(N1::foo<int>) a;
}

I believe this is ice-on-valid since removing the template like so:

namespace N1 { bool foo(); } 
int main() { decltype(N1::foo) a; } 

makes "a" a function type 'bool(void)'.


-- 
           Summary: ICE on decltype(rel_ops::operator><int>);
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: chris dot fairles at gmail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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


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

* [Bug c++/37177] ICE on decltype(rel_ops::operator><int>);
  2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
@ 2008-08-29  5:43 ` pinskia at gcc dot gnu dot org
  2008-12-27  6:23 ` [Bug c++/37177] [c++0x] " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-08-29  5:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2008-08-29 05:42 -------
Confirmed, we have the following TREE:
 <template_id_expr 0x434e0660
    type <lang_type 0x434dcd20 unknown type type <lang_type 0x434dcd20 unknown
type>
        VOID
        align 1 symtab 0 alias set -1 canonical type 0x434dcd20
        pointer_to_this <lang_type 0x434dcd20 unknown type> reference_to_this
<lang_type 0x434dcd20 unknown type>>

    arg 0 <overload 0x434ea7e0 type <lang_type 0x434dcd20 unknown type>

        function <template_decl 0x434e3d90 foo type <function_type 0x434293f0>
            VOID file t.cc line 3 col 30
            align 1 context <namespace_decl 0x434e3bd0 N1>
            arguments <tree_list 0x434ea760
                purpose <integer_cst 0x430f4450 constant 1>
                value <tree_vec 0x434ea740 type <template_decl 0x434e3d90 foo>

                    elt 0 <tree_list 0x434ea720>>> result <function_decl
0x434e4b00 foo>
           >>
    arg 1 <tree_vec 0x434ea8a0
        elt 0 <integer_type 0x4341c310 int>>>

Which needs to be resolved still.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2008-08-29 05:42:33
               date|                            |
            Summary|ICE on                      |ICE on
                   |decltype(rel_ops::operator><|decltype(rel_ops::operator><
                   |int>);                      |int>);


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


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

* [Bug c++/37177] [c++0x] ICE on decltype(rel_ops::operator><int>);
  2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
  2008-08-29  5:43 ` [Bug c++/37177] " pinskia at gcc dot gnu dot org
@ 2008-12-27  6:23 ` pinskia at gcc dot gnu dot org
  2009-10-08  3:54 ` jason at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-27  6:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2008-12-27 06:19 -------
*** Bug 38620 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bruck dot michael at
                   |                            |googlemail dot com


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


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

* [Bug c++/37177] [c++0x] ICE on decltype(rel_ops::operator><int>);
  2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
  2008-08-29  5:43 ` [Bug c++/37177] " pinskia at gcc dot gnu dot org
  2008-12-27  6:23 ` [Bug c++/37177] [c++0x] " pinskia at gcc dot gnu dot org
@ 2009-10-08  3:54 ` jason at gcc dot gnu dot org
  2009-10-08 16:10 ` jason at gcc dot gnu dot org
  2009-10-08 17:48 ` jason at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-10-08  3:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jason at gcc dot gnu dot org  2009-10-08 03:54 -------
The reduced testcase is indeed valid, this is DR 115:

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#115

However, rel_ops::operator><int> is ill-formed, because it has no operands of
class or enumeration type.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-08-29 05:42:33         |2009-10-08 03:54:11
               date|                            |


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


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

* [Bug c++/37177] [c++0x] ICE on decltype(rel_ops::operator><int>);
  2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
                   ` (2 preceding siblings ...)
  2009-10-08  3:54 ` jason at gcc dot gnu dot org
@ 2009-10-08 16:10 ` jason at gcc dot gnu dot org
  2009-10-08 17:48 ` jason at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-10-08 16:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jason at gcc dot gnu dot org  2009-10-08 16:09 -------
Subject: Bug 37177

Author: jason
Date: Thu Oct  8 16:09:22 2009
New Revision: 152564

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152564
Log:
        PR c++/37177
        * pt.c (resolve_nondeduced_context): New.
        * cvt.c (convert_to_void): Call it.
        * semantics.c (finish_decltype_type): Likewise.
        * typeck.c (decay_conversion): Here too.
        * pt.c (tsubst_decl): Don't clobber input_location.
        Don't register a bad specialization.

Added:
    trunk/gcc/testsuite/g++.dg/template/explicit-args2.C
    trunk/gcc/testsuite/g++.dg/template/explicit-args3.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/cvt.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic-throw.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/crash58.C


-- 


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


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

* [Bug c++/37177] [c++0x] ICE on decltype(rel_ops::operator><int>);
  2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
                   ` (3 preceding siblings ...)
  2009-10-08 16:10 ` jason at gcc dot gnu dot org
@ 2009-10-08 17:48 ` jason at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-10-08 17:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jason at gcc dot gnu dot org  2009-10-08 17:48 -------
Fixed for 4.5.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2009-10-08 17:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-20 11:55 [Bug c++/37177] New: ICE on decltype(rel_ops::operator><int>); chris dot fairles at gmail dot com
2008-08-29  5:43 ` [Bug c++/37177] " pinskia at gcc dot gnu dot org
2008-12-27  6:23 ` [Bug c++/37177] [c++0x] " pinskia at gcc dot gnu dot org
2009-10-08  3:54 ` jason at gcc dot gnu dot org
2009-10-08 16:10 ` jason at gcc dot gnu dot org
2009-10-08 17:48 ` jason 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).