On Tue, Sep 08, 2015 at 08:06:00AM -0000, John McCall via cfe-commits wrote: > Author: rjmccall > Date: Tue Sep 8 03:05:57 2015 > New Revision: 246985 > > URL: http://llvm.org/viewvc/llvm-project?rev=246985&view=rev > Log: > Compute and preserve alignment more faithfully in IR-generation.
This seems to introduce an access-beyond-end on the attached input. Just -c should be enough to reproduce. Joerg
struct A { void operator delete(void *, void *); }; void *operator new(unsigned long, void *); struct B { static B create() { new (0) A; } }; class C { protected: template <typename Deleter> void internalConstruct(int *, Deleter) { B::create; } template <typename Deleter> C(int *p1, Deleter p2) { internalConstruct(p1, p2); } }; class D : C { public: template <typename Deleter> D(int *p1, Deleter p2) : C(p1, p2) {} }; void doDeleteLater() { D(new int, doDeleteLater); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits