From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.emacs.devel Subject: Re: immediate strings #2 Date: Mon, 28 Nov 2011 19:57:23 -0500 Message-ID: References: <4ED35057.8010103@yandex.ru> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1322528254 2896 80.91.229.12 (29 Nov 2011 00:57:34 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 29 Nov 2011 00:57:34 +0000 (UTC) To: Emacs Dev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 29 01:57:30 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RVC0o-0006S5-EY for ged-emacs-devel@m.gmane.org; Tue, 29 Nov 2011 01:57:30 +0100 Original-Received: from localhost ([::1]:49621 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVC0n-0004yT-VN for ged-emacs-devel@m.gmane.org; Mon, 28 Nov 2011 19:57:29 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:56130) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVC0l-0004yD-2n for emacs-devel@gnu.org; Mon, 28 Nov 2011 19:57:28 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RVC0k-00040L-0t for emacs-devel@gnu.org; Mon, 28 Nov 2011 19:57:27 -0500 Original-Received: from mail-vw0-f41.google.com ([209.85.212.41]:36110) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVC0j-00040F-LT for emacs-devel@gnu.org; Mon, 28 Nov 2011 19:57:25 -0500 Original-Received: by vbbfn1 with SMTP id fn1so5955493vbb.0 for ; Mon, 28 Nov 2011 16:57:24 -0800 (PST) Original-Received: by 10.52.240.230 with SMTP id wd6mr7771758vdc.72.1322528244627; Mon, 28 Nov 2011 16:57:24 -0800 (PST) Original-Received: from [10.1.12.27] (vpn.permabit.com. [204.246.225.2]) by mx.google.com with ESMTPS id ir2sm33063443vdb.9.2011.11.28.16.57.23 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 28 Nov 2011 16:57:24 -0800 (PST) In-Reply-To: X-Mailer: Apple Mail (2.1084) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.212.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:146329 Archived-At: On Nov 28, 2011, at 17:25, Andreas Schwab wrote: > Stefan Monnier writes: >=20 >> Not that it's relevant to Emacs, but I don't know which part of the >> C standard would force a C compiler to layout all unions at an >> "addressable" offset. >=20 > 6.7.2.1#13 Well, I think Stefan's technically right... the "as-if" rule lets the = compiler get away with a lot, if it can analyze enough of the program to = figure out that it wouldn't make a difference to the semantics ("no one = will notice", as Stefan put it). For example, gcc can make some = variables that have their addresses taken still live in registers = anyways. But few or none of the compilers we care about right now will = do that when dealing with structure layouts and multiple source files as = in Emacs; they'll implement something close enough to the abstract = machine description in the standard that the union would have to be = addressable. Ken=