------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-11 
16:51 -------
: Search converges between 2004-07-29-trunk (#498) and 2004-07-30-trunk (#499).
Reduced testcase every where:
int subtrees = 4;
template< class T >
struct Tree {
  Tree* L[subtrees];
  Tree* R[subtrees];
  ~Tree()
  {
    delete [] L[0];
    delete [] R[0];
  }
};

void f()
{
        Tree<int> t;
}


Note the following is a 4.0 regression though:
int subtrees = 4;
template< class T >
struct Tree {
        Tree* L[subtrees];
        Tree() { }
};
void f()
{
        Tree<int> t;
}


Also this is invalid code as int *L[variable]; should have been rejected as 
variable is not constant, note 
(at least on the mainline) we reject it for non templates. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2004-11-11 16:51:44
               date|                            |
            Summary|ICE for g++-3.3.5/ endless  |[4.0 Regression] ICE on
                   |loop for g++-3.4.3 (template|invalid code with array size
                   |and namespace)              |being a non constant
                   |                            |variable
   Target Milestone|---                         |4.0.0


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

Reply via email to