public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/30895]  New: [4.1/4.2/4.3 regression] ICE with complex values in template parameter
@ 2007-02-20 21:03 reichelt at gcc dot gnu dot org
  2007-02-20 21:10 ` [Bug c++/30895] " reichelt at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-02-20 21:03 UTC (permalink / raw)
  To: gcc-bugs

The following code snippet triggers an ICE since GCC 3.4.0:

=====================================
template<int> struct A {};

template<typename T> struct B
{
  A<T(0i)> a1;
  A<T(0i)> a2;
};
=====================================

bug.cc:6: internal compiler error: in cp_tree_equal, at cp/tree.c:1858
Please submit a full bug report, [etc.]

Before we got the message:
bug.cc:5: sorry, unimplemented: `complex_cst' not supported by dump_expr
bug.cc:5: sorry, unimplemented: `complex_cst' not supported by dump_expr
bug.cc:6: sorry, unimplemented: `complex_cst' not supported by dump_expr
bug.cc:6: sorry, unimplemented: `complex_cst' not supported by dump_expr

I'm not quite sure whether the code is valid or not.
It does compile with "0.0" instead of "0i".
So if we consider complex types as basic arithmetic types,
the code should be valid IMHO.
OTOH, we don't allow casts from complex int to int.
But if we don't instantiate B this shouldn't matter IMHO.


-- 
           Summary: [4.1/4.2/4.3 regression] ICE with complex values in
                    template parameter
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, monitored
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org


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


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

end of thread, other threads:[~2007-03-09 18:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-20 21:03 [Bug c++/30895] New: [4.1/4.2/4.3 regression] ICE with complex values in template parameter reichelt at gcc dot gnu dot org
2007-02-20 21:10 ` [Bug c++/30895] " reichelt at gcc dot gnu dot org
2007-02-20 21:23 ` pinskia at gcc dot gnu dot org
2007-02-28  6:55 ` patchapp at dberlin dot org
2007-03-04 19:51 ` simartin at gcc dot gnu dot org
2007-03-05  4:00 ` mmitchel at gcc dot gnu dot org
2007-03-05 22:56 ` simartin at gcc dot gnu dot org
2007-03-05 23:05 ` simartin at gcc dot gnu dot org
2007-03-09 18:21 ` simartin 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).