From owner-svn-src-head@FreeBSD.ORG Tue Sep 21 20:23:19 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94618106566C; Tue, 21 Sep 2010 20:23:19 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8366F8FC0A; Tue, 21 Sep 2010 20:23:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o8LKNJD4005884; Tue, 21 Sep 2010 20:23:19 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o8LKNJI3005882; Tue, 21 Sep 2010 20:23:19 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <201009212023.o8LKNJI3005882@svn.freebsd.org> From: Rui Paulo Date: Tue, 21 Sep 2010 20:23:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r212976 - head/lib/libc/i386/gen X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Sep 2010 20:23:19 -0000 Author: rpaulo Date: Tue Sep 21 20:23:19 2010 New Revision: 212976 URL: http://svn.freebsd.org/changeset/base/212976 Log: Workaround LLVM bug #4434: Reorder inline assembly arguments temp2, temp, value and texp to follow the st(0), st(1), etc. style. Also mark the temp2 variable as volatile to workaround another clang bug. This allows clang to buildworld FreeBSD/i386. Submitted by: dim Modified: head/lib/libc/i386/gen/ldexp.c Modified: head/lib/libc/i386/gen/ldexp.c ============================================================================== --- head/lib/libc/i386/gen/ldexp.c Tue Sep 21 20:21:56 2010 (r212975) +++ head/lib/libc/i386/gen/ldexp.c Tue Sep 21 20:23:19 2010 (r212976) @@ -51,12 +51,16 @@ __FBSDID("$FreeBSD$"); double ldexp (double value, int exp) { - double temp, texp, temp2; + double temp, texp; +#ifdef __clang__ + volatile +#endif + double temp2; texp = exp; #ifdef __GNUC__ __asm ("fscale " - : "=u" (temp2), "=t" (temp) - : "0" (texp), "1" (value)); + : "=t" (temp), "=u" (temp2) + : "0" (value), "1" (texp)); #else #error unknown asm #endif