From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 92367 invoked by alias); 10 Apr 2017 21:40:12 -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 92354 invoked by uid 89); 10 Apr 2017 21:40:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=bs, xs, Xs, Bs X-HELO: mail-wm0-f44.google.com Received: from mail-wm0-f44.google.com (HELO mail-wm0-f44.google.com) (74.125.82.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 10 Apr 2017 21:40:10 +0000 Received: by mail-wm0-f44.google.com with SMTP id w64so49401505wma.0 for ; Mon, 10 Apr 2017 14:40:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=yBXJTN4J4MXdtS2kme4hnV5948of5W9GZ4heA43NzkQ=; b=ZkhqOCwcenDaPsO+ZSsT2DiqGYeKXYy3rzgs6r1rkPkvfSg9sJtES8CEElFx7Xy5ED 2rYICTAxjTBc61L6d79wRiy6l9bYToHoOIKYg5oviGmogxrqWXrLJdlz54kzGDkfsS8U ARqinyIvSmUEOHlxWqeEvrFGdwUNNdMoC8XWRr2H3LMYu4nswEymTekly19rwGHksSKJ VUlzh7hTGdSNr2hpDvWnMUCUEzEWXIB5kdurULIR042W9uPYQpntmxz+kaHm8gtmjuYQ m7ydG4h1eQaJrH5AtdUOk8pqVx9tAtj51myFq4ttRzQDqRxdgkinqMxJ6GubOOmzWCbj CZTg== X-Gm-Message-State: AN3rC/7cKBnk0o1j1ArWLMyK6Plj1jORrj79QCnOfQJXLDIiDT7r2xvOPLrBBp7ObHuw9bUg X-Received: by 10.28.17.70 with SMTP id 67mr6423413wmr.78.1491860409641; Mon, 10 Apr 2017 14:40:09 -0700 (PDT) Received: from [192.168.0.101] ([37.189.166.198]) by smtp.gmail.com with ESMTPSA id l68sm8451463wrc.52.2017.04.10.14.40.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Apr 2017 14:40:08 -0700 (PDT) Subject: Re: [PATCH] Add a new type attribute always_alias (PR79671) To: Richard Biener , Jason Merrill References: <21E940B5-C8C4-4A86-8C15-49A86547DD87@suse.de> <20170405160333.GR4425@redhat.com> <20170405160849.GV17461@tucnak> Cc: Bernd Edlinger , Jakub Jelinek , Jonathan Wakely , Florian Weimer , GCC Patches , Jeff Law From: Pedro Alves Message-ID: Date: Mon, 10 Apr 2017 21:40:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-04/txt/msg00493.txt.bz2 On 04/10/2017 01:50 PM, Richard Biener wrote: > +void *operator new(__SIZE_TYPE__, void *p2) { return p2; } > +struct B { B(int i_) : i(i_) {} int i; }; > +struct X > +{ > + unsigned char buf[sizeof (B)]; > +}; Pedantically, shouldn't there be something here to enforce X's alignment to be at least the same as B's ? > + > +int __attribute__((noinline)) foo() > +{ > + X x, y; > + new (&x) B (0); Thanks, Pedro Alves