From owner-freebsd-hackers@FreeBSD.ORG Mon Oct 21 10:30:05 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 570FEFFF; Mon, 21 Oct 2013 10:30:05 +0000 (UTC) (envelope-from bruce@cran.org.uk) Received: from muon.cran.org.uk (muon.cran.org.uk [93.89.92.64]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 144752BC9; Mon, 21 Oct 2013 10:30:04 +0000 (UTC) Received: from muon.cran.org.uk (localhost [127.0.0.1]) by muon.cran.org.uk (Postfix) with ESMTP id A9319E6DF2; Mon, 21 Oct 2013 11:29:56 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cran.org.uk; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=mail; bh=F6YMoaTnPo/L crFSeGJSxX5LdkQ=; b=S6tRdzQ+uPdbBjcWEKGHHXP08nRikY2yDwadL+HTTq9N LgwbkmRGrc2qtFqOVrjZ8bJPAEne50i7Sp2eA1ifItUu9IcWPPqUN7mU2BulBIzh gvzkWzG354AIyP787pAk2DmtxTmeK6C3HId0erIPvuw4cAHBtoUeVDqVC7MyrMg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=cran.org.uk; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=mail; b=DtGUrE oUt8ATc81lnR5LDe19K2y+ChoE8egKqU9Ej31sBo8/WqxRWVlyMVG6n8o1QUmTq/ qAJ8nG0nROEfwChIIWfwXgbAtZYATIoK4gxu4/TIQbcnTJU+tFI8L7qO3hpsyg3L khs5a6JIrLnrPUmV6UNc5UndVl2kbCtJAa/y0= Received: from [192.168.2.103] (unknown [93.89.81.205]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by muon.cran.org.uk (Postfix) with ESMTPSA id 7B08DE6DC4; Mon, 21 Oct 2013 11:29:56 +0100 (BST) Message-ID: <52650223.2020707@cran.org.uk> Date: Mon, 21 Oct 2013 11:29:55 +0100 From: Bruce Cran User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: Benjamin Kaduk , sbruno@freebsd.org Subject: Re: gperf -- #define for if (0) ; else for References: <1382327705.2610.9.camel@localhost> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Oct 2013 10:30:05 -0000 On 10/21/2013 5:13 AM, Benjamin Kaduk wrote: > >> 37 >> 38 /* Assume ISO C++ 'for' scoping rule. */ >> 39 #define for if (0) ; else for > > StackOverflow (!) [1] suggests that they're a workaround for a bug in > old versions of Visual Studio. http://msdn.microsoft.com/en-us/library/b80153d8%28v=vs.90%29.aspx also documents it. Visual C++ 6 was released in 1998, which was unfortunately the same year as the first ISO C++ standard. -- Bruce Cran