public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/27177]  New: ICE in build_simple_base_path, at cp/class.c:474
@ 2006-04-16  9:30 nashpaulr at gmail dot com
  2006-04-16  9:32 ` [Bug c++/27177] " nashpaulr at gmail dot com
                   ` (37 more replies)
  0 siblings, 38 replies; 39+ messages in thread
From: nashpaulr at gmail dot com @ 2006-04-16  9:30 UTC (permalink / raw)
  To: gcc-bugs

This is my first gcc bug, so please be kind...

I'm in the process of upgrading my company's toolchain from 3.4.4 to 4.1.0
(mostly because we want ARM EABI support...but that's not relevant, it turns
out this bug happens on both i686 and ARM targets).

I narrowed down a particular usage of Loki's Type Manipulation templates
combined with a common _C_ASSERT trick that was causing an ICE:

ice-cp-class_c_474.cpp: In instantiation of 'Loki::Conversion<const volatile
Event*, const volatile IBar*>':
ice-cp-class_c_474.cpp:62:   instantiated from 'Loki::Conversion<const volatile
IBar*, const volatile Event*>'
ice-cp-class_c_474.cpp:118:   instantiated from
'Loki::SuperSubclassStrict<IBar, Event>'
ice-cp-class_c_474.cpp:201:   instantiated from here
ice-cp-class_c_474.cpp:58: internal compiler error: in build_simple_base_path,
at cp/class.c:474
Please submit a full bug report,

I will attach my one-page self-contained .cpp file.

This is known to work on gcc-3.4.4.

My compiler is configured thusly:

/usr/local/i686/4.1.0-1a/bin/g++ -v ice-cp-class_c_474.cpp
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: .././gcc-4.1.0-pass2/configure
--prefix=/usr/local/i686/4.1.0-1a --libexecdir=/usr/local/i686/4.1.0-1a/lib
--with-local-prefix=/usr/local/i686/4.1.0-1a --enable-threads=posix
--enable-c99 --enable-clocale=gnu --enable-shared --enable-__cxa_atexit
--enable-languages=c,c++ --enable-long-long --disable-libstdcxx-pch
Thread model: posix
gcc version 4.1.0


-- 
           Summary: ICE in build_simple_base_path, at cp/class.c:474
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: nashpaulr at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu, arm-non-linux-gnueabi


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


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

* [Bug c++/27177] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
@ 2006-04-16  9:32 ` nashpaulr at gmail dot com
  2006-04-16  9:34 ` nashpaulr at gmail dot com
                   ` (36 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: nashpaulr at gmail dot com @ 2006-04-16  9:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from nashpaulr at gmail dot com  2006-04-16 09:32 -------
Created an attachment (id=11280)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11280&action=view)
Condensed .cpp file.

Here's a repro scenario...I do not know exactly if every class in the
inheritance tree is strictly necessary.

This very closely resembles the code in my product that is actually tripping on
this.


-- 


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


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

* [Bug c++/27177] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
  2006-04-16  9:32 ` [Bug c++/27177] " nashpaulr at gmail dot com
@ 2006-04-16  9:34 ` nashpaulr at gmail dot com
  2006-04-16 23:13 ` [Bug c++/27177] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
                   ` (35 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: nashpaulr at gmail dot com @ 2006-04-16  9:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from nashpaulr at gmail dot com  2006-04-16 09:34 -------
Known to work on 3.4.4


-- 

nashpaulr at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nashpaulr at gmail dot com
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.1.0
      Known to work|                            |3.4.4


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
  2006-04-16  9:32 ` [Bug c++/27177] " nashpaulr at gmail dot com
  2006-04-16  9:34 ` nashpaulr at gmail dot com
@ 2006-04-16 23:13 ` pinskia at gcc dot gnu dot org
  2006-06-02 22:39 ` reichelt at gcc dot gnu dot org
                   ` (34 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-04-16 23:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-16 23:13 -------
Confirmed, reduced testcase:
template <class T, class U>
struct Conversion
{
    static T a;
    enum { exists = sizeof((U)(a)) };
};
template<class T,class U>
struct SuperSubclassStrict
{
    enum { value = (Conversion<U*, T*>::exists)};
};
struct IObject
{
    virtual unsigned long A(void) = 0;
};
struct IFoo : IObject{};
struct IBar : IObject {};
struct Component : IFoo, IBar
{
};
struct Event : Component
{
  static const int t = SuperSubclassStrict<IBar, Event>::value;
};


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |normal
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
  GCC build triplet|i686-pc-linux-gnu           |
   GCC host triplet|i686-pc-linux-gnu           |
 GCC target triplet|i686-pc-linux-gnu, arm-non- |
                   |linux-gnueabi               |
   Last reconfirmed|0000-00-00 00:00:00         |2006-04-16 23:13:40
               date|                            |
            Summary|ICE in                      |[4.0/4.1/4.2 Regression] ICE
                   |build_simple_base_path, at  |in build_simple_base_path,
                   |cp/class.c:474              |at cp/class.c:474
   Target Milestone|---                         |4.0.4


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (2 preceding siblings ...)
  2006-04-16 23:13 ` [Bug c++/27177] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
@ 2006-06-02 22:39 ` reichelt at gcc dot gnu dot org
  2006-06-04 18:27 ` mmitchel at gcc dot gnu dot org
                   ` (33 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2006-06-02 22:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from reichelt at gcc dot gnu dot org  2006-06-02 22:38 -------
Here's an even shorter testcase:

=============================================
struct X {};

struct Y : virtual X {};
struct Z : virtual X {};

struct A : Y, Z {};

struct B : A
{
  static const int i = sizeof((Z*)(B*)0);
};
=============================================

A simpler testcase was fixed (or maybe only papered over) in GCC 4.0.3:

=============================================
struct A { virtual ~A(); };

struct B : A
{
  static const int i = sizeof((A*)(B*)0);
};
=============================================

A slight modification results in a testcase that crashes with a segfault
since GCC 3.2:

=============================================
struct A {};

struct B : virtual A
{
  static const int i = sizeof((A*)(B*)0);
};
=============================================


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (3 preceding siblings ...)
  2006-06-02 22:39 ` reichelt at gcc dot gnu dot org
@ 2006-06-04 18:27 ` mmitchel at gcc dot gnu dot org
  2006-06-05 23:05 ` mmitchel at gcc dot gnu dot org
                   ` (32 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-06-04 18:27 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (4 preceding siblings ...)
  2006-06-04 18:27 ` mmitchel at gcc dot gnu dot org
@ 2006-06-05 23:05 ` mmitchel at gcc dot gnu dot org
  2006-06-06 21:39 ` mmitchel at gcc dot gnu dot org
                   ` (31 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-06-05 23:05 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (5 preceding siblings ...)
  2006-06-05 23:05 ` mmitchel at gcc dot gnu dot org
@ 2006-06-06 21:39 ` mmitchel at gcc dot gnu dot org
  2006-06-06 21:42 ` mmitchel at gcc dot gnu dot org
                   ` (30 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-06-06 21:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from mmitchel at gcc dot gnu dot org  2006-06-06 21:39 -------
Subject: Bug 27177

Author: mmitchel
Date: Tue Jun  6 21:38:54 2006
New Revision: 114448

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114448
Log:
        PR c++/27177
        * call.c (standard_conversion): Require that the derived type be
        complete when performing a derived-to-base conversion.
        PR c++/27177
        * g++.dg/expr/cast7.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/expr/cast7.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (6 preceding siblings ...)
  2006-06-06 21:39 ` mmitchel at gcc dot gnu dot org
@ 2006-06-06 21:42 ` mmitchel at gcc dot gnu dot org
  2006-06-06 21:55 ` [Bug c++/27177] [4.0 " mmitchel at gcc dot gnu dot org
                   ` (29 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-06-06 21:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from mmitchel at gcc dot gnu dot org  2006-06-06 21:39 -------
Subject: Bug 27177

Author: mmitchel
Date: Tue Jun  6 21:39:33 2006
New Revision: 114449

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114449
Log:
        PR c++/27177
        * call.c (standard_conversion): Require that the derived type be
        complete when performing a derived-to-base conversion.
        PR c++/27177
        * g++.dg/expr/cast7.C: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/g++.dg/expr/cast7.C
Modified:
    branches/gcc-4_1-branch/gcc/cp/ChangeLog
    branches/gcc-4_1-branch/gcc/cp/call.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug c++/27177] [4.0 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (7 preceding siblings ...)
  2006-06-06 21:42 ` mmitchel at gcc dot gnu dot org
@ 2006-06-06 21:55 ` mmitchel at gcc dot gnu dot org
  2006-08-18 11:21 ` zak at transversal dot com
                   ` (28 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-06-06 21:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from mmitchel at gcc dot gnu dot org  2006-06-06 21:42 -------
Fixed in 4.1.2, 4.2.0.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu
                   |                            |dot org
             Status|ASSIGNED                    |NEW
            Summary|[4.0/4.1/4.2 Regression] ICE|[4.0 Regression] ICE in
                   |in build_simple_base_path,  |build_simple_base_path, at
                   |at cp/class.c:474           |cp/class.c:474


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


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

* [Bug c++/27177] [4.0 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (8 preceding siblings ...)
  2006-06-06 21:55 ` [Bug c++/27177] [4.0 " mmitchel at gcc dot gnu dot org
@ 2006-08-18 11:21 ` zak at transversal dot com
  2006-09-09  3:17 ` [Bug c++/27177] [4.0/4.1/4.2 " mmitchel at gcc dot gnu dot org
                   ` (27 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: zak at transversal dot com @ 2006-08-18 11:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from zak at transversal dot com  2006-08-18 11:21 -------
However, that patch breaks the following code, which requires *implicit*
derived-to-base conversion:

================================
struct Z {};
struct A : Z {};

Z* implicitToZ (Z*);

struct B : A
{
          static const int i = sizeof(implicitToZ((B*)0));
};
================================

Without the patch, the above compiles cleanly (as it does in 4.0.3, 4.1.1 and
Comeau). With the patch, I get:

$ g++ -c dtob.cc
dtob.cc:8: error: invalid conversion from 'B*' to 'Z*'
dtob.cc:8: error:   initializing argument 1 of 'Z* implicitToZ(Z*)'


The standard (in 4.10 [conv.ptr], paragraph 3) states that a program requiring
a derived-to-base conversion is ill-formed if the base class is inaccessible or
ambiguous; it does not mention any requirement that the derived class must be
complete.


This breaks code like this using boost::is_base_and_derived (this is cut down
from a real-world example):

================================
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/static_assert.hpp>

struct Base { };

template< typename T >
struct A {
        BOOST_STATIC_ASSERT(( boost::is_base_and_derived< Base, T >::value ));
        struct Inner { };
};

struct Derived : Base {
        typedef A< Derived >::Inner Inner;
};
================================


-- 

zak at transversal dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zak at transversal dot com


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (9 preceding siblings ...)
  2006-08-18 11:21 ` zak at transversal dot com
@ 2006-09-09  3:17 ` mmitchel at gcc dot gnu dot org
  2006-09-10 21:56 ` mmitchel at gcc dot gnu dot org
                   ` (26 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-09-09  3:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from mmitchel at gcc dot gnu dot org  2006-09-09 03:17 -------
The case in Comment #8 is now broken on 4.1/4.2.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0 Regression] ICE in     |[4.0/4.1/4.2 Regression] ICE
                   |build_simple_base_path, at  |in build_simple_base_path,
                   |cp/class.c:474              |at cp/class.c:474


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (10 preceding siblings ...)
  2006-09-09  3:17 ` [Bug c++/27177] [4.0/4.1/4.2 " mmitchel at gcc dot gnu dot org
@ 2006-09-10 21:56 ` mmitchel at gcc dot gnu dot org
  2006-09-10 22:04 ` mmitchel at gcc dot gnu dot org
                   ` (25 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-09-10 21:56 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug c++/27177] [4.0/4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (11 preceding siblings ...)
  2006-09-10 21:56 ` mmitchel at gcc dot gnu dot org
@ 2006-09-10 22:04 ` mmitchel at gcc dot gnu dot org
  2007-02-03 16:51 ` [Bug c++/27177] [4.0/4.1/4.2/4.3 " gdr at gcc dot gnu dot org
                   ` (24 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-09-10 22:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from mmitchel at gcc dot gnu dot org  2006-09-10 22:04 -------
I am not convinced that the code in Comment #8 is valid.

Although the operand of sizeof is not in fact evaluated, it seems odd to permit
an operand which cannot, even in principle, be evaluated.  This is not even a
case in which evaluating the operand would lead to undefined behavior; there is
simply no way to evaluate the operand at all.  If there is an implicit
conversion from B* to Z* at this point, then we must know how to performn the
conversion, but we cannot, since B is not complete.

Are you arguing that in:

  struct B {};
  struct D : public B {                                      
    static const int i = sizeof((B*)(D*)0);                  
  };

the conversion from D* to B* is a static_cast?

Has anyone asked about this case on the core reflector?


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |WAITING


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (12 preceding siblings ...)
  2006-09-10 22:04 ` mmitchel at gcc dot gnu dot org
@ 2007-02-03 16:51 ` gdr at gcc dot gnu dot org
  2007-02-03 20:29 ` pinskia at gcc dot gnu dot org
                   ` (23 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-02-03 16:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from gdr at gcc dot gnu dot org  2007-02-03 16:51 -------
Won't fix in GCC-4.0.x.  Adjusting milestone.


-- 

gdr at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.4                       |4.1.3


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (13 preceding siblings ...)
  2007-02-03 16:51 ` [Bug c++/27177] [4.0/4.1/4.2/4.3 " gdr at gcc dot gnu dot org
@ 2007-02-03 20:29 ` pinskia at gcc dot gnu dot org
  2007-02-14  9:07 ` mmitchel at gcc dot gnu dot org
                   ` (22 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-02-03 20:29 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.3                       |4.1.2


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (14 preceding siblings ...)
  2007-02-03 20:29 ` pinskia at gcc dot gnu dot org
@ 2007-02-14  9:07 ` mmitchel at gcc dot gnu dot org
  2007-05-02  1:24 ` crowl at google dot com
                   ` (21 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14  9:07 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.2                       |4.1.3


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (15 preceding siblings ...)
  2007-02-14  9:07 ` mmitchel at gcc dot gnu dot org
@ 2007-05-02  1:24 ` crowl at google dot com
  2007-05-02 19:02 ` mark at codesourcery dot com
                   ` (20 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: crowl at google dot com @ 2007-05-02  1:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from crowl at google dot com  2007-05-02 02:24 -------
(In reply to comment #10)
> I am not convinced that the code in Comment #8 is valid.
> 
> Although the operand of sizeof is not in fact evaluated, it seems odd to
> permit an operand which cannot, even in principle, be evaluated.  This is
> not even a case in which evaluating the operand would lead to undefined
> behavior; there is simply no way to evaluate the operand at all.  If there
> is an implicit conversion from B* to Z* at this point, then we must know
> how to perform the conversion, but we cannot, since B is not complete.

While that view has merit, I find no requirement in the standard that
requires a complete class.  Setting that aside s possibly unreasonable,
I think 4.10 paragraph 3 "The null pointer value is converted to the null
pointer value of the destination type." enables conversion of null pointers
when the pointer type has known bases but is not yet complete.

> Are you arguing that in:
> 
>   struct B {};
>   struct D : public B {                                      
>     static const int i = sizeof((B*)(D*)0);                  
>   };
> 
> the conversion from D* to B* is a static_cast?

I think (B*)(D*)0 is a conversion under 4.10.

> Has anyone asked about this case on the core reflector?

Would you like me to?


-- 


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (16 preceding siblings ...)
  2007-05-02  1:24 ` crowl at google dot com
@ 2007-05-02 19:02 ` mark at codesourcery dot com
  2007-12-16 23:21 ` steven at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mark at codesourcery dot com @ 2007-05-02 19:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from mark at codesourcery dot com  2007-05-02 20:02 -------
Subject: Re:  [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path,
 at cp/class.c:474

crowl at google dot com wrote:

> I think (B*)(D*)0 is a conversion under 4.10.
> 
>> Has anyone asked about this case on the core reflector?
> 
> Would you like me to?

Yes, please!

If this is considered valid, it's important to understand why: is it
your NULL pointer argument, or that this is a static_cast, even though D
isn't complete yet?  That will affect the validity of:

  struct B {};
  struct D;
  D* p;
  struct D: public B {
    static const int i = sizeof ((B*)p);
  };

which is similar, but does not involve the NULL pointer.

Thanks,


-- 


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (17 preceding siblings ...)
  2007-05-02 19:02 ` mark at codesourcery dot com
@ 2007-12-16 23:21 ` steven at gcc dot gnu dot org
  2007-12-18  5:38 ` mmitchel at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-12-16 23:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from steven at gcc dot gnu dot org  2007-12-16 23:21 -------
Ping!


-- 


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


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

* [Bug c++/27177] [4.0/4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (18 preceding siblings ...)
  2007-12-16 23:21 ` steven at gcc dot gnu dot org
@ 2007-12-18  5:38 ` mmitchel at gcc dot gnu dot org
  2008-01-14 12:06 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-12-18  5:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from mmitchel at gcc dot gnu dot org  2007-12-18 05:38 -------
Lawrence, was there any feedback on the core reflector about this issue?


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crowl at google dot com


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (19 preceding siblings ...)
  2007-12-18  5:38 ` mmitchel at gcc dot gnu dot org
@ 2008-01-14 12:06 ` rguenth at gcc dot gnu dot org
  2008-01-14 22:29 ` crowl at google dot com
                   ` (16 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-14 12:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from rguenth at gcc dot gnu dot org  2008-01-14 11:19 -------
Ping!


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.0/4.1/4.2/4.3 Regression]|[4.1/4.2/4.3 Regression] ICE
                   |ICE in                      |in build_simple_base_path,
                   |build_simple_base_path, at  |at cp/class.c:474
                   |cp/class.c:474              |


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (20 preceding siblings ...)
  2008-01-14 12:06 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
@ 2008-01-14 22:29 ` crowl at google dot com
  2008-01-15 10:11 ` rguenth at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: crowl at google dot com @ 2008-01-14 22:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from crowl at google dot com  2008-01-14 21:29 -------
Subject: Re:  [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at
cp/class.c:474

The consensus of the C++ standards reflector is that all three
following code snippets are well-formed.

explicit:
   struct B {};
   struct D : public B {
       static const int i = sizeof((B*)(D*)0);
   };

implicit:
   struct Z {};
   struct A : Z {};
   Z* implicitToZ (Z*);
   struct B : A {
       static const int i = sizeof(implicitToZ((B*)0));
   };

non-null:
   struct B {};
   struct D;
   D* p;
   struct D: public B {
       static const int i = sizeof ((B*)p);
   };

The rational is that even though the classes are not complete
within their body, the bases must be known.  The reason is that
other features of the language, like co-variant returns, would fail.
Since the bases are known, the conversions are well-formed.


-- 


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (21 preceding siblings ...)
  2008-01-14 22:29 ` crowl at google dot com
@ 2008-01-15 10:11 ` rguenth at gcc dot gnu dot org
  2008-01-15 10:34 ` rguenth at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-15 10:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from rguenth at gcc dot gnu dot org  2008-01-15 09:47 -------
Thanks.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
   Last reconfirmed|2006-04-16 23:13:40         |2008-01-15 09:47:36
               date|                            |


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (22 preceding siblings ...)
  2008-01-15 10:11 ` rguenth at gcc dot gnu dot org
@ 2008-01-15 10:34 ` rguenth at gcc dot gnu dot org
  2008-01-21  2:23 ` mmitchel at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-15 10:34 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (23 preceding siblings ...)
  2008-01-15 10:34 ` rguenth at gcc dot gnu dot org
@ 2008-01-21  2:23 ` mmitchel at gcc dot gnu dot org
  2008-01-21 20:55 ` crowl at google dot com
                   ` (12 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2008-01-21  2:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from mmitchel at gcc dot gnu dot org  2008-01-21 02:00 -------
Lawrence, thanks for looking into this.  

Was there any consensus on whether or not these are static_casts in this
context?

I'm guessing that the eventual resolution is going to be something like saying
that a cast is a static_cast even if the class is incomplete, so long as the
bases are known, but that such a static_cast can only be used in an
un-evaluated context.  Is that correct?


-- 


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (24 preceding siblings ...)
  2008-01-21  2:23 ` mmitchel at gcc dot gnu dot org
@ 2008-01-21 20:55 ` crowl at google dot com
  2008-01-25 16:41 ` rguenth at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: crowl at google dot com @ 2008-01-21 20:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from crowl at google dot com  2008-01-21 20:49 -------
Subject: Re:  [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at
cp/class.c:474

On 21 Jan 2008 02:00:07 -0000, mmitchel at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote:
>
>
> ------- Comment #19 from mmitchel at gcc dot gnu dot org  2008-01-21 02:00 -------
> Lawrence, thanks for looking into this.
>
> Was there any consensus on whether or not these are static_casts in this
> context?

The discussion didn't say so explicitly, but the obvious conclusion was
that they were static_casts.

> I'm guessing that the eventual resolution is going to be something like
> saying that a cast is a static_cast even if the class is incomplete, so long
> as the bases are known, but that such a static_cast can only be used
> in an un-evaluated context.  Is that correct?

If I understand correctly, this issue can only arise in constant expressions.
In any other context (as in default arguments or member bodies) the class
would be complete, and hence the issue is moot.  Is there something that
you had in mind?


-- 


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (25 preceding siblings ...)
  2008-01-21 20:55 ` crowl at google dot com
@ 2008-01-25 16:41 ` rguenth at gcc dot gnu dot org
  2008-01-26  1:32 ` jason at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-25 16:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from rguenth at gcc dot gnu dot org  2008-01-25 15:45 -------
Jason, can you coordinate with Mark and help with the remaining P1 C++
regressions?


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (26 preceding siblings ...)
  2008-01-25 16:41 ` rguenth at gcc dot gnu dot org
@ 2008-01-26  1:32 ` jason at gcc dot gnu dot org
  2008-01-26  9:42 ` [Bug c++/27177] [4.1/4.2 " jakub at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-01-26  1:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from jason at gcc dot gnu dot org  2008-01-26 00:42 -------
Subject: Bug 27177

Author: jason
Date: Sat Jan 26 00:41:49 2008
New Revision: 131855

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131855
Log:
        PR c++/27177
        * class.c (build_base_path): Don't mess with virtual access if
        skip_evaluation.
        * call.c (standard_conversion): Don't check whether source type
        is complete.

Added:
    trunk/gcc/testsuite/g++.dg/expr/cast9.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/class.c


-- 


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


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

* [Bug c++/27177] [4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (27 preceding siblings ...)
  2008-01-26  1:32 ` jason at gcc dot gnu dot org
@ 2008-01-26  9:42 ` jakub at gcc dot gnu dot org
  2008-01-26 11:56 ` rguenth at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-26  9:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from jakub at gcc dot gnu dot org  2008-01-26 08:31 -------
Fixed on the trunk.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.1.0                       |4.1.0 4.2.0
      Known to work|3.4.4                       |3.4.4 4.3.0
            Summary|[4.1/4.2/4.3 Regression] ICE|[4.1/4.2 Regression] ICE in
                   |in build_simple_base_path,  |build_simple_base_path, at
                   |at cp/class.c:474           |cp/class.c:474


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


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

* [Bug c++/27177] [4.1/4.2 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (28 preceding siblings ...)
  2008-01-26  9:42 ` [Bug c++/27177] [4.1/4.2 " jakub at gcc dot gnu dot org
@ 2008-01-26 11:56 ` rguenth at gcc dot gnu dot org
  2008-01-26 11:57 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-26 11:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from rguenth at gcc dot gnu dot org  2008-01-26 11:40 -------
*** Bug 34978 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ismail at pardus dot org dot
                   |                            |tr


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (29 preceding siblings ...)
  2008-01-26 11:56 ` rguenth at gcc dot gnu dot org
@ 2008-01-26 11:57 ` rguenth at gcc dot gnu dot org
  2008-01-26 18:58 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-26 11:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from rguenth at gcc dot gnu dot org  2008-01-26 11:41 -------
The g++.dg/expr/cast7.C failure re-appeared with the last patch.  Re-opening
the regression against 4.3.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|3.4.4 4.3.0                 |3.4.4
            Summary|[4.1/4.2 Regression] ICE in |[4.1/4.2/4.3 Regression] ICE
                   |build_simple_base_path, at  |in build_simple_base_path,
                   |cp/class.c:474              |at cp/class.c:474


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (30 preceding siblings ...)
  2008-01-26 11:57 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
@ 2008-01-26 18:58 ` rguenth at gcc dot gnu dot org
  2008-01-26 19:34 ` hjl dot tools at gmail dot com
                   ` (5 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-26 18:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #26 from rguenth at gcc dot gnu dot org  2008-01-26 18:38 -------
*** Bug 34984 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hjl dot tools at gmail dot
                   |                            |com


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (31 preceding siblings ...)
  2008-01-26 18:58 ` rguenth at gcc dot gnu dot org
@ 2008-01-26 19:34 ` hjl dot tools at gmail dot com
  2008-01-26 19:44 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-01-26 19:34 UTC (permalink / raw)
  To: gcc-bugs



-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.1.0 4.2.0                 |4.1.0 4.2.0 4.3.0
   Target Milestone|4.1.3                       |4.3.0
            Version|4.1.0                       |4.3.0


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (32 preceding siblings ...)
  2008-01-26 19:34 ` hjl dot tools at gmail dot com
@ 2008-01-26 19:44 ` rguenth at gcc dot gnu dot org
  2008-01-28  8:03 ` jason at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-26 19:44 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.0                       |4.2.3
            Version|4.3.0                       |4.1.0


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (33 preceding siblings ...)
  2008-01-26 19:44 ` rguenth at gcc dot gnu dot org
@ 2008-01-28  8:03 ` jason at gcc dot gnu dot org
  2008-01-28  8:10 ` jason at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-01-28  8:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #27 from jason at gcc dot gnu dot org  2008-01-28 02:20 -------
Subject: Bug 27177

Author: jason
Date: Mon Jan 28 02:19:38 2008
New Revision: 131899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131899
Log:
        PR c++/27177
        * class.c (build_base_path): Fix previous change.

Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/class.c


-- 


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (34 preceding siblings ...)
  2008-01-28  8:03 ` jason at gcc dot gnu dot org
@ 2008-01-28  8:10 ` jason at gcc dot gnu dot org
  2008-01-28 16:34 ` jason at gcc dot gnu dot org
  2008-01-28 16:35 ` jason at gcc dot gnu dot org
  37 siblings, 0 replies; 39+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-01-28  8:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #28 from jason at gcc dot gnu dot org  2008-01-28 02:20 -------
Really fixed.


-- 

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=27177


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (35 preceding siblings ...)
  2008-01-28  8:10 ` jason at gcc dot gnu dot org
@ 2008-01-28 16:34 ` jason at gcc dot gnu dot org
  2008-01-28 16:35 ` jason at gcc dot gnu dot org
  37 siblings, 0 replies; 39+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-01-28 16:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #29 from jason at gcc dot gnu dot org  2008-01-28 16:19 -------
Subject: Bug 27177

Author: jason
Date: Mon Jan 28 16:18:56 2008
New Revision: 131905

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131905
Log:
        PR c++/27177
        * class.c (build_base_path): Fix previous change.

        PR c++/27177
        * class.c (build_base_path): Don't mess with virtual access if
        skip_evaluation.
        * call.c (standard_conversion): Don't check whether source type
        is complete.

Modified:
    branches/gcc-4_2-branch/gcc/cp/ChangeLog
    branches/gcc-4_2-branch/gcc/cp/call.c
    branches/gcc-4_2-branch/gcc/cp/class.c


-- 


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


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

* [Bug c++/27177] [4.1/4.2/4.3 Regression] ICE in build_simple_base_path, at cp/class.c:474
  2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
                   ` (36 preceding siblings ...)
  2008-01-28 16:34 ` jason at gcc dot gnu dot org
@ 2008-01-28 16:35 ` jason at gcc dot gnu dot org
  37 siblings, 0 replies; 39+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-01-28 16:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #30 from jason at gcc dot gnu dot org  2008-01-28 16:28 -------
Subject: Bug 27177

Author: jason
Date: Mon Jan 28 16:27:17 2008
New Revision: 131907

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131907
Log:
        PR c++/27177
        * class.c (build_base_path): Fix previous change.

        PR c++/27177
        * class.c (build_base_path): Don't mess with virtual access if
        skip_evaluation.
        * call.c (standard_conversion): Don't check whether source type
        is complete.

        PR c++/33959
        * pt.c (tsubst_aggr_type): Make sure our context is complete.

Modified:
    branches/gcc-4_1-branch/gcc/cp/ChangeLog
    branches/gcc-4_1-branch/gcc/cp/call.c
    branches/gcc-4_1-branch/gcc/cp/class.c
    branches/gcc-4_1-branch/gcc/cp/pt.c


-- 


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


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

end of thread, other threads:[~2008-01-28 16:28 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-16  9:30 [Bug c++/27177] New: ICE in build_simple_base_path, at cp/class.c:474 nashpaulr at gmail dot com
2006-04-16  9:32 ` [Bug c++/27177] " nashpaulr at gmail dot com
2006-04-16  9:34 ` nashpaulr at gmail dot com
2006-04-16 23:13 ` [Bug c++/27177] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
2006-06-02 22:39 ` reichelt at gcc dot gnu dot org
2006-06-04 18:27 ` mmitchel at gcc dot gnu dot org
2006-06-05 23:05 ` mmitchel at gcc dot gnu dot org
2006-06-06 21:39 ` mmitchel at gcc dot gnu dot org
2006-06-06 21:42 ` mmitchel at gcc dot gnu dot org
2006-06-06 21:55 ` [Bug c++/27177] [4.0 " mmitchel at gcc dot gnu dot org
2006-08-18 11:21 ` zak at transversal dot com
2006-09-09  3:17 ` [Bug c++/27177] [4.0/4.1/4.2 " mmitchel at gcc dot gnu dot org
2006-09-10 21:56 ` mmitchel at gcc dot gnu dot org
2006-09-10 22:04 ` mmitchel at gcc dot gnu dot org
2007-02-03 16:51 ` [Bug c++/27177] [4.0/4.1/4.2/4.3 " gdr at gcc dot gnu dot org
2007-02-03 20:29 ` pinskia at gcc dot gnu dot org
2007-02-14  9:07 ` mmitchel at gcc dot gnu dot org
2007-05-02  1:24 ` crowl at google dot com
2007-05-02 19:02 ` mark at codesourcery dot com
2007-12-16 23:21 ` steven at gcc dot gnu dot org
2007-12-18  5:38 ` mmitchel at gcc dot gnu dot org
2008-01-14 12:06 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
2008-01-14 22:29 ` crowl at google dot com
2008-01-15 10:11 ` rguenth at gcc dot gnu dot org
2008-01-15 10:34 ` rguenth at gcc dot gnu dot org
2008-01-21  2:23 ` mmitchel at gcc dot gnu dot org
2008-01-21 20:55 ` crowl at google dot com
2008-01-25 16:41 ` rguenth at gcc dot gnu dot org
2008-01-26  1:32 ` jason at gcc dot gnu dot org
2008-01-26  9:42 ` [Bug c++/27177] [4.1/4.2 " jakub at gcc dot gnu dot org
2008-01-26 11:56 ` rguenth at gcc dot gnu dot org
2008-01-26 11:57 ` [Bug c++/27177] [4.1/4.2/4.3 " rguenth at gcc dot gnu dot org
2008-01-26 18:58 ` rguenth at gcc dot gnu dot org
2008-01-26 19:34 ` hjl dot tools at gmail dot com
2008-01-26 19:44 ` rguenth at gcc dot gnu dot org
2008-01-28  8:03 ` jason at gcc dot gnu dot org
2008-01-28  8:10 ` jason at gcc dot gnu dot org
2008-01-28 16:34 ` jason at gcc dot gnu dot org
2008-01-28 16:35 ` 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).