From b37bf640a61a47cfac23685230f8f8d3300eaba7 Mon Sep 17 00:00:00 2001 From: dkf Date: Wed, 25 Jan 2006 22:57:52 +0000 Subject: Adapted version of FreeBSD port to reduce the amount of stuff they have to do to build Tcl... --- ChangeLog | 28 ++++++++++++++++------------ unix/tclUnixInit.c | 13 ++++++++++--- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index dc9ba33..0bcb8f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-01-25 Donal K. Fellows + + * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when + to update the FP rounding mode on FreeBSD, taken from FreeBSD port. + 2006-01-23 Donal K. Fellows * tests/string.test (string-12.21): Added test for [Bug 1410553] based @@ -7,7 +12,7 @@ * generic/tclStringObj.c: fixed incorrect handling of internal rep in Tcl_GetRange [Bug 1410553]. Thanks to twylite and Peter Spjuth. - + * generic/tclProc.c: fixed args handling for precompiled bodies [Bug 1412695]; thanks to Uwe Traum. @@ -22,7 +27,7 @@ * generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from core-8-4-branch. A freed pointer has been overwritten causing all sorts of coredumps. - + 2006-01-12 Vince Darley * win/tclWinFile.c: fix to sharing violation [Bug 1366227] @@ -31,12 +36,12 @@ * generic/tclBasic.c: Moved Tcl_LogCommandInfo from tclBasic.c to * generic/tclNamesp.c: tclNamesp.c to get access to identifier with - * tests/error.test (error-7.0): file scope. Added check for traces - on ::errorInfo, and when present fall back to contruction of the - stack trace in the variable so that write trace notification timings - are compatible with earlier Tcl releases. This reduces, but does not + * tests/error.test (error-7.0): file scope. Added check for traces on + ::errorInfo, and when present fall back to contruction of the stack + trace in the variable so that write trace notification timings are + compatible with earlier Tcl releases. This reduces, but does not completely eliminate the ***POTENTIAL INCOMPATIBILITY*** created by - the 2004-10-15 commit. [Bug 1397843]. + the 2004-10-15 commit. [Bug 1397843]. 2006-01-10 Daniel Steffen @@ -45,7 +50,7 @@ * unix/tcl.m4: quoting, sync relevant tclconfig/tcl.m4 changes and gratuitous formatting differences, fix SC_CONFIG_MANPAGES with default argument, Darwin improvements to SC_LOAD_*CONFIG. - + 2006-01-09 Don Porter * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope] @@ -94,7 +99,7 @@ good long-term solution, but there may not be one. * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the - square root, roughly doubling the speed of the routine. (This is a + square root, roughly doubling the speed of the routine. (This is a local change that needs to be communicated to Tom.) * win/Makefile.in: Corrected a bug where tommath_class.h and @@ -120,9 +125,8 @@ internal reps left behind by parsing [Bugs 1360532 1382287]. * generic/tclParseExpr.c: Added TCL_PARSE_NO_WHITESPACE to - * generic/tclScan.c: TclParseNumber() calls since [scan] and - * tests/scan.test: [expr] parsing don't want spaces in parsed - numbers. + * generic/tclScan.c: TclParseNumber() calls since [scan] and [expr] + * tests/scan.test: parsing don't want spaces in parsed numbers. * generic/tclInt.h: Added TCL_PARSE_NO_WHITESPACE flag to the * generic/tclStrToD.c: TclParseNumber() interface. diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c index 3c65494..013f270 100644 --- a/unix/tclUnixInit.c +++ b/unix/tclUnixInit.c @@ -7,7 +7,7 @@ * Copyright (c) 1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclUnixInit.c,v 1.61 2005/11/02 23:26:50 dkf Exp $ + * RCS: @(#) $Id: tclUnixInit.c,v 1.62 2006/01/25 22:57:53 dkf Exp $ */ #include "tclInt.h" @@ -17,7 +17,7 @@ #include #endif #include -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) && defined(__GNUC__) # include #endif #if defined(__bsdi__) @@ -387,7 +387,14 @@ TclpInitPlatform(void) (void) signal(SIGPIPE, SIG_IGN); #endif /* SIGPIPE */ -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) && defined(__GNUC__) + /* + * Adjust the rounding mode to be more conventional. Note that FreeBSD + * only provides the __fpsetreg() used by the following two for the GNU + * Compiler. When using, say, Intel's icc they break. (Partially based on + * patch in BSD ports system from root@celsius.bychok.com) + */ + fpsetround(FP_RN); (void) fpsetmask(0L); #endif -- cgit v0.12