From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kp6Nw-0003Wu-66 for qemu-devel@nongnu.org; Sun, 12 Oct 2008 15:13:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kp6Nu-0003WC-FU for qemu-devel@nongnu.org; Sun, 12 Oct 2008 15:13:47 -0400 Received: from [199.232.76.173] (port=40554 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kp6Nu-0003W9-9V for qemu-devel@nongnu.org; Sun, 12 Oct 2008 15:13:46 -0400 Received: from bsdimp.com ([199.45.160.85]:61458 helo=harmony.bsdimp.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kp6Nt-0000ix-TD for qemu-devel@nongnu.org; Sun, 12 Oct 2008 15:13:46 -0400 Date: Sun, 12 Oct 2008 13:10:51 -0600 (MDT) Message-Id: <20081012.131051.-345488819.imp@bsdimp.com> Subject: Re: [Qemu-devel] [5466] Only use __builtin_* with GCC >= 3.4 From: "M. Warner Losh" In-Reply-To: <48F21193.3000809@redhat.com> References: <48F1EE9B.6040706@redhat.com> <20081012142348.GA18814@shareable.org> <48F21193.3000809@redhat.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, avi@redhat.com In message: <48F21193.3000809@redhat.com> Avi Kivity writes: : Jamie Lokier wrote: : > Glibc uses "#if __GNUC_PREREQ (3,4)" which is quite neat. : > Do "grep -R GNUC_PREREQ /usr/include". : > : > I use (and define if not already defined) the same macro in my : > programs, on the assumption that the macro's meaning is unlikely to : > ever change or be different elsewhere. : > : : It's illegal to define or use an identifier beginning with two : underscores, unless it's documented by the implementation. What if : glibc adds a third argument? All your apps wil break. Lots of things would break :-( : You should define your own macros for this, with a non-__ name. Identifiers starting with __ are reserved for the implementation. They aren't illegal, per se, just reserved. Warner