From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58860 invoked by alias); 6 Sep 2016 21:03:38 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 58840 invoked by uid 89); 6 Sep 2016 21:03:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy=interpose, interposed X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 06 Sep 2016 21:03:28 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=svr-ies-mbx-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1bhNWf-0006T8-Ph from joseph_myers@mentor.com ; Tue, 06 Sep 2016 14:03:25 -0700 Received: from digraph.polyomino.org.uk (137.202.0.87) by svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 6 Sep 2016 22:03:21 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.86_2) (envelope-from ) id 1bhNWX-00047X-H8; Tue, 06 Sep 2016 21:03:17 +0000 Date: Tue, 06 Sep 2016 21:18:00 -0000 From: Joseph Myers To: Jason Merrill CC: Florian Weimer , gcc-patches List , Subject: Re: Make max_align_t respect _Float128 [version 2] In-Reply-To: Message-ID: References: <3bb7530e-fff4-6030-a87e-1654d55d1e45@redhat.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-SW-Source: 2016-09/txt/msg00344.txt.bz2 On Tue, 6 Sep 2016, Jason Merrill wrote: > On Tue, Sep 6, 2016 at 11:16 AM, Joseph Myers wrote: > > GCC is supposed to support all mallocs that produce results aligned to at > > least MALLOC_ABI_ALIGNMENT (which may be smaller than the alignment of > > max_align_t). > > I've just been running into problems with MALLOC_ABI_ALIGNMENT being > smaller than max_align_t, which doesn't make sense to me; the C11 > passage Florian quoted says that malloc needs to support all > fundamental alignments, i.e. max_align_t. The point is that GCC supports being used in nonconforming implementations as well as in conforming ones, and in nonconforming contexts people may e.g. interpose malloc with a version that yields sufficient alignment for common cases but may not use 16-byte alignment, or may not align small objects as much as larger ones (whereas ISO C requires all alignments, even 1-byte ones, be aligned as much as max_align_t). Of course if users of such an interposed malloc try to allocate memory for _Float128 with it, they can expect that to break. -- Joseph S. Myers joseph@codesourcery.com