------- Comment #4 from rguenth at gcc dot gnu dot org  2008-01-12 18:24 -------
Reduced testcase:

namespace std {
  template<typename _CharT>
  class basic_string {
  public:
    basic_string(const _CharT* __s);
  };
  typedef basic_string<char> string;
}
typedef signed long long int int64;
typedef std::string String;
class Array;
class Type {
public:
  enum Storage { NUM = 'n', FLOAT = 'f', STRING = 's',
                 OBJECT = 'O', STRING_VECTOR = 'v', ARRAY = 'A'  };
};
class BaseValue {
protected:
  explicit BaseValue (Type::Storage value_type);
};
class AnyValue : public BaseValue {
public:
  template<typename V>
  explicit AnyValue (Type::Storage strg, V value)
    : BaseValue (strg) {       }
};
class AutoValue : public AnyValue {
public:
  AutoValue (const String &string)
    : AnyValue (Type::STRING, string) {       }
  AutoValue (const Array &array)
    : AnyValue (Type::ARRAY, array) {       }
};
class Array {
public:
  Array (const Array &other);
  explicit Array ();
  Array& operator= (const Array &other);
  void push_tail (const AutoValue &value) {}
};
void test_array ()
{
  Array a;
  const char *x[][8] = {};
  for (int64 i = 0; i < sizeof (x) / sizeof (x[0]); i++) 
    {   
      Array b; 
      for (int64 j = 0; j < sizeof (x[0]) / sizeof (x[0][0]); j++)
        b.push_tail (String (x[i][j]));     
      a.push_tail (b);   
    }
}


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.0.4 4.1.3 4.2.3
      Known to work|                            |3.4.6 4.3.0
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-12 18:24:22
               date|                            |
            Summary|ICE in fold_convert, at     |[4.1/4.2 Regression] ICE in
                   |fold-const.c:1955           |fold_convert, at fold-
                   |                            |const.c:1955
   Target Milestone|---                         |4.2.3


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

Reply via email to