Hi, I finally used C-Reduce! I had 12 crashes IIRC, but C-Reduce continued until it found a small testcase. I am attaching a tarball with all generated bug reports. Minimized testcase generated by C-Reduce: - - - class A { public: A(int, int, int); }; class B { virtual int tangentPlane(); public: B(A, int, int *); }; class C : B { public: C(A p1, int p2, int *p3) : B(p1, p2, p3) {} }; using BoundDisk = C; #pragma GCC visibility push(hidden) class B; float a; int b; void fn1() { A c(0., 0., a); new BoundDisk(c, b, 0); } - - - Further manual minimization: - - - class B { virtual int tangentPlane(); public: B(); }; class C : B { public: C() : B() {} }; #pragma GCC visibility push(hidden) class B; void fn1() { new C(); } - - - Two things which are interesting: - Why C-Reduce did not attempt to remove arguments? - Why it did not remove one of the classes? Or maybe it tried, but it crashed and skipped it.
Attachment:
creduce_bug.tar.bz2
Description: BZip2 compressed data
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail