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

--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-08 
15:20:03 UTC ---
Taking Tian's idea from comment #4 and instead of commenting it out, but moving
it outside of the struct like below, we not ICE without having to use the GC
param options and we don't see the error message richi saw.

#include <string>
#include <vector>
#include <map>

using namespace std;

namespace my_namespace
{
  enum my_enum
  {
    ENUM0 = 0,
    ENUM1 = 1,
    ENUM2 = 2
  };

  typedef vector<string> myvectype0[ENUM2];
  typedef vector<string> myvectype1[ENUM2];

  typedef string mytype2;
  typedef map<mytype2, myvectype0*> mytype3;

  myvectype1 field1;

  struct my_struct
  {
    mytype3 field0;
  };
};

using namespace my_namespace;

int main()
{
  my_struct tmp;
  return 0;
}


bergner@igoo:~/gcc/BUGS/huawei>
/home/bergner/gcc/install/gcc-fsf-4_5-debug/bin/g++ -S -m64 bug.cpp 
In file included from
/home/bergner/gcc/install/gcc-fsf-4_5-debug/lib/gcc/powerpc64-linux/4.5.3/../../../../include/c++/4.5.3/map:61:0,
                 from bug.cpp:3:
/home/bergner/gcc/install/gcc-fsf-4_5-debug/lib/gcc/powerpc64-linux/4.5.3/../../../../include/c++/4.5.3/bits/stl_map.h:
In instantiation of ‘std::map<std::basic_string<char>,
std::vector<std::basic_string<char> > (*)[2], std::less<std::basic_string<char>
>, std::allocator<std::pair<const std::basic_string<char>,
std::vector<std::basic_string<char> > (*)[2]> > >’:
/home/bergner/gcc/install/gcc-fsf-4_5-debug/lib/gcc/powerpc64-linux/4.5.3/../../../../include/c++/4.5.3/bits/stl_map.h:106:7:
  instantiated from ‘std::map<std::basic_string<char>,
std::vector<std::basic_string<char> > (*)[2]>’
bug.cpp:26:13:   instantiated from here
/home/bergner/gcc/install/gcc-fsf-4_5-debug/lib/gcc/powerpc64-linux/4.5.3/../../../../include/c++/4.5.3/bits/stl_map.h:90:61:
internal compiler error: in finish_member_declaration, at cp/semantics.c:2468
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to