From owner-freebsd-current Tue Oct 22 13:30:15 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2A04D37B401; Tue, 22 Oct 2002 13:30:14 -0700 (PDT) Received: from falcon.mail.pas.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by mx1.FreeBSD.org (Postfix) with ESMTP id AFD2743E6A; Tue, 22 Oct 2002 13:30:13 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0482.cvx21-bradley.dialup.earthlink.net ([209.179.193.227] helo=mindspring.com) by falcon.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 1845fE-0003Ss-00; Tue, 22 Oct 2002 13:30:09 -0700 Message-ID: <3DB5B508.25EC9C14@mindspring.com> Date: Tue, 22 Oct 2002 13:28:56 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Stefan Farfeleder Cc: Kris Kennaway , Ruslan Ermilov , current@FreeBSD.ORG, standards@FreeBSD.ORG Subject: Re: libstdc++ does not contain fabsl symbol References: <20021020025400.GA13776@xor.obsecurity.org> <20021022082241.GG3325@sunbay.com> <20021022184605.GA85779@xor.obsecurity.org> <3DB5A9B6.1C2D1684@mindspring.com> <20021022200827.GA252@frog.fafoe> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Stefan Farfeleder wrote: [ ... fabsl() ... ] > > What standard defines this thing, which g++ has as a built-in? > > > > Alternately, the use could avoid adding the "-fno-builtin", and > > the problem would go away. > > ISO C99 > > 7.12.7.2 The fabs functions > Synopsis > #include > double fabs(double x); > float fabsf(float x); > long double fabsl(long double x); Thanks; that's exactly what I wanted to know. The answer, then, is that FreeBSD is not fully compliant with ISO C99, although there is work in progress to add compliance. I personally don't understand why the avoidance of the built-in. It's worthwhile adding the function, but rather than doing this one at a time, and finding out 10 years later that FreeBSD is finally compliant (in 2011, after the 2009 version of the standard is out ;^)), it's probably a better idea to write an "external reference compliance program", so that you can compile it up, and find out all the undefined references at once, so that we can make a concerted effort. I expect this will have to be done by someone with access to the ISO C99 standard, unles it's postied online for free somewhere? -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message