------- Additional Comments From dberlin at gcc dot gnu dot org 2005-07-04 02:21 ------- The bug you have indentified (which is related but not the same) reduces to:
struct string { long long _M_p; long long i; string(); int begin(); int end(); string(int, int); }; struct symbol { int type; string name; long long raw_name; long long demangled_name; long long version_name; int version_status; int status; void init(); }; void symbol::init() { name = string(); } struct pair { symbol first; symbol second; pair(const symbol& __a, const symbol& __b) : first(__a), second(__b) { } }; struct vector { void push_back(const pair& __x); }; void f(vector incompatible) { symbol base; incompatible.push_back(pair(base, base)); } However, this is not the same actual backtrace as the other bug, which comes from solution_set_add. Related, but not exactly the same. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22279