From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7218 invoked by alias); 8 Jun 2004 18:45:09 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 7174 invoked by uid 48); 8 Jun 2004 18:45:04 -0000 Date: Tue, 08 Jun 2004 18:45:00 -0000 Message-ID: <20040608184504.7173.qmail@sourceware.org> From: "ma1flfs at bath dot ac dot uk" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040603143635.15795.ma1flfs@bath.ac.uk> References: <20040603143635.15795.ma1flfs@bath.ac.uk> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/15795] No way to teach operator new anything about alignment requirements X-Bugzilla-Reason: CC X-SW-Source: 2004-06/txt/msg00962.txt.bz2 List-Id: ------- Additional Comments From ma1flfs at bath dot ac dot uk 2004-06-08 18:45 ------- Well, the workaround is a good idea in general, however, this program still segfaults... #define _XOPEN_SOURCE 600 #include #include #include class Vector4 { public: __m128 vec; Vector4() { vec = _mm_setzero_ps(); } void *operator new (unsigned int s) { void *p; posix_memalign(&p, 16, s); return p; } void *operator new[] (unsigned int s) { return operator new (s); } }; class Foo { public: Vector4 b; Foo() {} }; int main(int argc, char **argv) { Foo *f = new Foo[200*200]; delete f; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15795