You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <fl...@us...> - 2012-06-11 21:22:35
|
Revision: 7579 http://mlton.svn.sourceforge.net/mlton/?rev=7579&view=rev Author: fluet Date: 2012-06-11 21:22:26 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Update copyright date in license. Modified Paths: -------------- mlton/trunk/doc/license/MLton-LICENSE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 21:22:31
|
Revision: 7578 http://mlton.svn.sourceforge.net/mlton/?rev=7578&view=rev Author: fluet Date: 2012-06-11 21:22:22 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Update changelog. Modified Paths: -------------- mlton/trunk/doc/changelog This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 21:05:22
|
Revision: 7571 http://mlton.svn.sourceforge.net/mlton/?rev=7571&view=rev Author: fluet Date: 2012-06-11 20:57:21 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Revert RealX.equals to return false for two nan values. nan values represented by distinct bit-patterns are not equal. There are a number of functions (MLton.Real{32,64}.castToWord, Real.signBit, Pack{Real,Real32,Real64,LargeReal}{Big,Little,Host}.*) that reveal a floating-point value's bit pattern. In particular, the following should result in two distinct nan values with different sign bits: val nan = posInf + negInf val pnan = copySign (nan, 1.0) val psb = signBit pnan val nnan = copySign (nan, ~1.0) val nsb = signBit nnan However, if these are constant folded and common-subexpression eliminated (with RealX.equals returning true for two nan values), then psb and nsb will (incorrectly) be equal. Modified Paths: -------------- mlton/trunk/mlton/atoms/real-x.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:58:01
|
Revision: 7577 http://mlton.svn.sourceforge.net/mlton/?rev=7577&view=rev Author: fluet Date: 2012-06-11 20:57:52 +0000 (Mon, 11 Jun 2012) Log Message: ----------- rint from latest XCode rounds to zero preserving sign. Modified Paths: -------------- mlton/trunk/regression/real.amd64-darwin.ok This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:55
|
Revision: 7575 http://mlton.svn.sourceforge.net/mlton/?rev=7575&view=rev Author: fluet Date: 2012-06-11 20:57:47 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Use structure name to distinguish constructors. Modified Paths: -------------- mlton/trunk/basis-library/real/real.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:53
|
Revision: 7576 http://mlton.svn.sourceforge.net/mlton/?rev=7576&view=rev Author: fluet Date: 2012-06-11 20:57:49 +0000 (Mon, 11 Jun 2012) Log Message: ----------- INF and NAN cases are handled by caller. Modified Paths: -------------- mlton/trunk/basis-library/real/real.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:52
|
Revision: 7574 http://mlton.svn.sourceforge.net/mlton/?rev=7574&view=rev Author: fluet Date: 2012-06-11 20:57:44 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Real.isNormal is no longer a C-call to fpclassify. Modified Paths: -------------- mlton/trunk/regression/real.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:49
|
Revision: 7573 http://mlton.svn.sourceforge.net/mlton/?rev=7573&view=rev Author: fluet Date: 2012-06-11 20:57:41 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Use bit operations for real classification and low-level opeartions. Use Real{32,64}.cast{to,from}Word primitives for implementation of Real{32,64}.class and Real{32,64}.signBit. Real{32,64}.{to,from}Decimal should respect sign of nan values. Eliminates the need for C implementations of: IEEEReal.FloatClass.FP_{INFINITE,NAN,NORMAL,SUBNORMAL,ZERO} Real{32,64}.class (fpclassify) Real{32,64}.signBit (signbit) Real{32,64}.maxFinite Real{32,64}.minPos Real{32,64}.minNormalPos There is a minor inconsistency in the Standard ML Basis Library specification. IEEEReal.toString states: "If the sign field is true, a #"~" is prepended." This implies that a negative nan is converted to "~nan". IEEEReal.toString also states: "The composition toString o REAL.toDecimal is equivalent to REAL.fmt StringCvt.EXACT." However, REAL.{fmt,toString} states: "In all cases, ... NaN values are converted to the string "nan"." This implies that a negative nan is converted to "nan". This inconsistency is resolved in the implementation of the Basis Library by breaking the equivalence of "IEEEReal.toString o REAL.toDecimal" and "REAL.fmt StringCvt.EXACT" for the case of a negative nan. The former will return "~nan" (which is rationalized by the explicit sign field of the IEEEReal.decimal_approx type) and the latter will return "nan". Modified Paths: -------------- mlton/trunk/basis-library/primitive/basis-ffi.sml mlton/trunk/basis-library/primitive/check-real.sml mlton/trunk/basis-library/primitive/prim-real.sml mlton/trunk/basis-library/real/IEEE-real.sig mlton/trunk/basis-library/real/IEEE-real.sml mlton/trunk/basis-library/real/real.sig mlton/trunk/basis-library/real/real.sml mlton/trunk/runtime/basis/Real/IEEEReal-consts.c mlton/trunk/runtime/basis/Real/Real-consts.c mlton/trunk/runtime/basis-ffi.h mlton/trunk/runtime/gen/basis-ffi.def mlton/trunk/runtime/gen/basis-ffi.h mlton/trunk/runtime/gen/basis-ffi.sml mlton/trunk/runtime/platform/aix.c mlton/trunk/runtime/platform/aix.h mlton/trunk/runtime/platform/cygwin.h mlton/trunk/runtime/platform/darwin.h mlton/trunk/runtime/platform/freebsd.h mlton/trunk/runtime/platform/hpux.h mlton/trunk/runtime/platform/hurd.h mlton/trunk/runtime/platform/linux.h mlton/trunk/runtime/platform/mingw.h mlton/trunk/runtime/platform/netbsd.h mlton/trunk/runtime/platform/openbsd.h mlton/trunk/runtime/platform/solaris.c mlton/trunk/runtime/platform/solaris.h mlton/trunk/runtime/platform.h Removed Paths: ------------- mlton/trunk/runtime/basis/Real/class.c mlton/trunk/runtime/basis/Real/signBit.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:28
|
Revision: 7572 http://mlton.svn.sourceforge.net/mlton/?rev=7572&view=rev Author: fluet Date: 2012-06-11 20:57:25 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Don't constant fold to NAN. Different nan values (in particular, positive-signed nan and negative-signed nan) cannot be distinguished in the global pool of Real<N> constants. Modified Paths: -------------- mlton/trunk/mlton/atoms/real-x.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:26
|
Revision: 7570 http://mlton.svn.sourceforge.net/mlton/?rev=7570&view=rev Author: fluet Date: 2012-06-11 20:57:17 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Real<N>.{from,to}Decimal should preserve sign of nan. Modified Paths: -------------- mlton/trunk/regression/real.alpha-linux.ok mlton/trunk/regression/real.amd64-darwin.ok mlton/trunk/regression/real.amd64-freebsd.ok mlton/trunk/regression/real.amd64-linux.ok mlton/trunk/regression/real.hppa-hpux.ok mlton/trunk/regression/real.hppa-linux.ok mlton/trunk/regression/real.mips-linux.ok mlton/trunk/regression/real.mipsel-linux.ok mlton/trunk/regression/real.ok mlton/trunk/regression/real.powerpc-linux.ok mlton/trunk/regression/real.s390-linux.ok mlton/trunk/regression/real.sparc-linux.ok This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-11 20:57:18
|
Revision: 7569 http://mlton.svn.sourceforge.net/mlton/?rev=7569&view=rev Author: fluet Date: 2012-06-11 20:57:07 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Example demonstrating bugs in REAL.{copySign,signBit} with signed NANs. Added Paths: ----------- mlton/trunk/regression/real-sign.ok mlton/trunk/regression/real-sign.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-01 19:12:12
|
Revision: 7568 http://mlton.svn.sourceforge.net/mlton/?rev=7568&view=rev Author: fluet Date: 2012-06-01 19:12:08 +0000 (Fri, 01 Jun 2012) Log Message: ----------- Cosmetic improvements to type-error messages. * Print optional resultType constraint in fun declaration clauses * Print "in: " before fun declaration clause in error messages * Print singleton Ast.Exp.FlatApp and Ast.Pat.FlatApp vectors without delimiting parens. For example, with the following type-incorrect program fun f (x: int) : char = x : bool MLton previously reported the error message: Error: z.sml 2.25. Expression and constraint disagree. expects: [bool] but got: [int] in: (x): bool Error: z.sml 2.18. Function result type disagrees with expression. result type: [char] expression: [int] f ((x): int) = (x): bool Now, MLton reports the error message: Error: z.sml 2.25. Expression and constraint disagree. expects: [bool] but got: [int] in: x: bool Error: z.sml 2.18. Function result type disagrees with expression. result type: [char] expression: [int] in: f (x: int): char = x: bool Modified Paths: -------------- mlton/trunk/mlton/ast/ast-core.fun mlton/trunk/mlton/ast/ast-core.sig mlton/trunk/mlton/elaborate/elaborate-core.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-01 19:12:07
|
Revision: 7567 http://mlton.svn.sourceforge.net/mlton/?rev=7567&view=rev Author: fluet Date: 2012-06-01 19:12:03 +0000 (Fri, 01 Jun 2012) Log Message: ----------- Formatting. Modified Paths: -------------- mlton/trunk/mlton/ast/ast-core.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-01 19:12:04
|
Revision: 7565 http://mlton.svn.sourceforge.net/mlton/?rev=7565&view=rev Author: fluet Date: 2012-06-01 19:11:55 +0000 (Fri, 01 Jun 2012) Log Message: ----------- Fixed bug in elaboration of type variables with and without equality status. Thanks to Rob Simmons for the bug report and examples. Fixed bug in elaboration that erroneously rejected the following: datatype ('a, ''a) t = T type ('a, ''a) u = unit and erroneously accepted the following: fun f (x: 'a) : ''a = x fun g (x: 'a) : ''a = if x = x then x else x Changed ast/tyvar.fun to record full name of type variable (including the '- or ''-prefix), which distinguishes the type variable 'a from the type variable ''a when compared with Tyvar.sameName. Thus, we now treat 'a, ''a, '''a, ... as distinct type variables (all but the first having equality status). Changed Tyvar.string, Tyvar.newString, and Tyvar.newNoname to accomodate new representation. Modified Paths: -------------- mlton/trunk/doc/changelog mlton/trunk/mlton/ast/tyvar.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-01 19:12:02
|
Revision: 7566 http://mlton.svn.sourceforge.net/mlton/?rev=7566&view=rev Author: fluet Date: 2012-06-01 19:11:59 +0000 (Fri, 01 Jun 2012) Log Message: ----------- Print locally generated type variables with indication of equality status. Modified Paths: -------------- mlton/trunk/mlton/elaborate/type-env.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-06-01 19:11:59
|
Revision: 7564 http://mlton.svn.sourceforge.net/mlton/?rev=7564&view=rev Author: fluet Date: 2012-06-01 19:11:50 +0000 (Fri, 01 Jun 2012) Log Message: ----------- Remove trailing whitespace. Modified Paths: -------------- mlton/trunk/doc/examples/size/size.sml mlton/trunk/doc/examples/thread/non-preemptive-threads.sml mlton/trunk/doc/examples/thread/preemptive-threads.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-05-30 19:30:18
|
Revision: 7563 http://mlton.svn.sourceforge.net/mlton/?rev=7563&view=rev Author: fluet Date: 2012-05-30 19:30:09 +0000 (Wed, 30 May 2012) Log Message: ----------- Add size example. Added Paths: ----------- mlton/trunk/doc/examples/size/ mlton/trunk/doc/examples/size/size.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-05-30 19:19:33
|
Revision: 7562 http://mlton.svn.sourceforge.net/mlton/?rev=7562&view=rev Author: fluet Date: 2012-05-30 19:19:14 +0000 (Wed, 30 May 2012) Log Message: ----------- Add thread examples. Added Paths: ----------- mlton/trunk/doc/examples/thread/ mlton/trunk/doc/examples/thread/non-preemptive-threads.sml mlton/trunk/doc/examples/thread/preemptive-threads.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-02-25 04:13:09
|
Revision: 7561 http://mlton.svn.sourceforge.net/mlton/?rev=7561&view=rev Author: fluet Date: 2012-02-25 04:12:59 +0000 (Sat, 25 Feb 2012) Log Message: ----------- Fixed bug in redundant SSA optimization. Thanks to Lars Magnusson for the bug report and example. The redundant SSA optimization eliminates redundant function and label arguments; an argument of a function or label is redundant if it is always the same as another argument of the same function or label. The analysis finds an equivalence relation on the arguments of a function or label, such that all arguments in an equivalence class are redundant with respect to the other arguments in the equivalence class; the transformation selects one representative of each equivalence class and drops the binding occurrence of non-representative variables and renames use occurrences of the non-representative variables to the representative variable. The analysis finds the equivalence classes via a fixed-point analysis. Each vector of arguments to a function or label is initialized to equivalence classes that equate all arguments of the same type; one could start with an equivalence class that equates all arguments, but arguments of different type cannot be redundant. Variables bound in statements are initialized to singleton equivalence classes. The fixed-point analysis repeatedly refines these equivalence classes on the formals by the equivalence classes of the actuals. The original redundant SSA optimization used a representation of equivalence classes that was quadratic in the number of arguments to a function or label. This was acceptable until the development of a flattening optimization that would flatten tuples completely; such full flattening could increase the number of arguments to a function to > 3000: http://mlton.org/pipermail/mlton/2004-February/025131.html http://mlton.org/pipermail/mlton/2004-February/025133.html http://mlton.org/pipermail/mlton/2004-February/025137.html Two subsequent revisions of the redundant SSA optimization (r2929 and r2932) eliminated the quadratic implementation of equivalence classes and made performance improvements: http://mlton.svn.sourceforge.net/viewvc/mlton?view=revision&revision=2929 http://mlton.svn.sourceforge.net/viewvc/mlton?view=revision&revision=2932 http://mlton.org/pipermail/mlton/2004-March/025149.html Unfortunately, the second of these revisions introduced a bug whereby the analysis failed to terminate with the fixed point; instead, it could terminate with some non-redundant arguments left in the same equivalence class. The transformation would then eliminate a distinct argument to the function or label, changing the behavior of the program. It was not entirely clear how to fix the bug in the last version of the optimization (corresponding to the second of the above revisions, with only cosemetic revisions since). While reverting to the first of the above revisions eliminated the bug in the example program, there seemed to be some useful techniques in the second of the above revisions. This version of the optimization adopts a more transparently correct fixed-point analysis, but includes techniques that lead to fast convergence. The transparent correctness comes from accumulating a list of refinements due to the flow of actuals to formals and repeatedly applying all of the refinements until there are no changes to the equivalence classes. The fast convergence comes from discarding from the list of refinements any refinement where the formals have been refined to singleton equivalence classes; note that any function or label with zero or one argument necessarily has its formal in a singleton equivalence class, and need not be included in the initial refinement accumulation. In addition, it was observed that the "elements" field of Element.Class.t, which recorded the elements in the equivalence class, was unused. Eliminating this field led to a number of additional simplifications. This version correctly transforms the example program that demonstrated the bug in the last version; the example program has no opportunities for redundant argument elimination, but the analysis requires four iterations to converge to the fixed point. This version behaves identically to the last version on a self compile. A self-compile has 82 non-singleton equivalence classes and the largest non-singleton equivalence classes are 5 classes of 5 elements. The analysis requires five iterations to converge to the fixed point. The performance of this version is comparable to the last version. Revision Links: -------------- http://mlton.svn.sourceforge.net/mlton/?rev=2929&view=rev http://mlton.svn.sourceforge.net/mlton/?rev=2932&view=rev Modified Paths: -------------- mlton/trunk/doc/changelog mlton/trunk/mlton/ssa/redundant.fun This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-02-24 14:00:46
|
Revision: 7560 http://mlton.svn.sourceforge.net/mlton/?rev=7560&view=rev Author: fluet Date: 2012-02-24 14:00:34 +0000 (Fri, 24 Feb 2012) Log Message: ----------- Example demonstrating bug in REAL.toDecimal with signed NANs. Thanks to Phil Clayton for the bug report and example. Added Paths: ----------- mlton/trunk/regression/real-decimal.1.ok mlton/trunk/regression/real-decimal.1.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: <fl...@us...> - 2012-02-24 13:50:41
|
Revision: 7559 http://mlton.svn.sourceforge.net/mlton/?rev=7559&view=rev Author: fluet Date: 2012-02-24 13:49:49 +0000 (Fri, 24 Feb 2012) Log Message: ----------- Example demonstrating bug in redundant SSA optimization. Thanks to Lars Magnusson for the bug report and example. Added Paths: ----------- mlton/trunk/regression/redundant.1.ok mlton/trunk/regression/redundant.1.sml This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ MLton-commit mailing list MLt...@li...; mlt...@ml... https://lists.sourceforge.net/lists/listinfo/mlton-commit |
From: Wesley T. <we...@ml...> - 2011-07-21 04:46:40
|
After align 8, mips and arm sizes are larger than align 4. ---------------------------------------------------------------------- A mlton/trunk/regression/mlton.share.arm-linux.ok A mlton/trunk/regression/mlton.share.mips-linux.ok A mlton/trunk/regression/size2.arm-linux.ok A mlton/trunk/regression/size2.mips-linux.ok ---------------------------------------------------------------------- Copied: mlton/trunk/regression/mlton.share.arm-linux.ok (from rev 7551, mlton/trunk/regression/mlton.share.s390-linux.ok) Copied: mlton/trunk/regression/mlton.share.mips-linux.ok (from rev 7551, mlton/trunk/regression/mlton.share.s390-linux.ok) Copied: mlton/trunk/regression/size2.arm-linux.ok (from rev 7551, mlton/trunk/regression/size2.s390-linux.ok) Copied: mlton/trunk/regression/size2.mips-linux.ok (from rev 7551, mlton/trunk/regression/size2.s390-linux.ok) |
From: Matthew F. <fl...@ml...> - 2011-07-20 13:18:27
|
Support for additional sysconf variables. Adds support for querying the following variables with Posix.ProcEnv.sysconf: AVPHYS_PAGES NPROCESSORS_CONF NPROCESSORS_ONLN PHYS_PAGES Contributed by Christopher Cramer <tsuyoshi at yumegakanau.org>. ---------------------------------------------------------------------- U mlton/trunk/basis-library/posix/proc-env.sml U mlton/trunk/basis-library/primitive/basis-ffi.sml U mlton/trunk/runtime/basis/Posix/ProcEnv/sysconf-consts.c U mlton/trunk/runtime/basis-ffi.h U mlton/trunk/runtime/gen/basis-ffi.def U mlton/trunk/runtime/gen/basis-ffi.h U mlton/trunk/runtime/gen/basis-ffi.sml ---------------------------------------------------------------------- Modified: mlton/trunk/basis-library/posix/proc-env.sml =================================================================== --- mlton/trunk/basis-library/posix/proc-env.sml 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/basis-library/posix/proc-env.sml 2011-07-20 20:18:15 UTC (rev 7557) @@ -1,4 +1,5 @@ -(* Copyright (C) 1999-2008 Henry Cejtin, Matthew Fluet, Suresh +(* Copyright (C) 2011 Matthew Fluet. + * Copyright (C) 1999-2008 Henry Cejtin, Matthew Fluet, Suresh * Jagannathan, and Stephen Weeks. * Copyright (C) 1997-2000 NEC Research Institute. * @@ -121,6 +122,7 @@ (Prim.SC_ARG_MAX,"ARG_MAX") ::? (Prim.SC_ASYNCHRONOUS_IO,"ASYNCHRONOUS_IO") ::? (Prim.SC_ATEXIT_MAX,"ATEXIT_MAX") ::? + (Prim.SC_AVPHYS_PAGES,"AVPHYS_PAGES") ::? (Prim.SC_BARRIERS,"BARRIERS") ::? (Prim.SC_BC_BASE_MAX,"BC_BASE_MAX") ::? (Prim.SC_BC_DIM_MAX,"BC_DIM_MAX") ::? @@ -151,9 +153,12 @@ (Prim.SC_MQ_OPEN_MAX,"MQ_OPEN_MAX") ::? (Prim.SC_MQ_PRIO_MAX,"MQ_PRIO_MAX") ::? (Prim.SC_NGROUPS_MAX,"NGROUPS_MAX") ::? + (Prim.SC_NPROCESSORS_CONF,"NPROCESSORS_CONF") ::? + (Prim.SC_NPROCESSORS_ONLN,"NPROCESSORS_ONLN") ::? (Prim.SC_OPEN_MAX,"OPEN_MAX") ::? (Prim.SC_PAGESIZE,"PAGESIZE") ::? (Prim.SC_PAGE_SIZE,"PAGE_SIZE") ::? + (Prim.SC_PHYS_PAGES,"PHYS_PAGES") ::? (Prim.SC_PRIORITIZED_IO,"PRIORITIZED_IO") ::? (Prim.SC_PRIORITY_SCHEDULING,"PRIORITY_SCHEDULING") ::? (Prim.SC_RAW_SOCKETS,"RAW_SOCKETS") ::? Modified: mlton/trunk/basis-library/primitive/basis-ffi.sml =================================================================== --- mlton/trunk/basis-library/primitive/basis-ffi.sml 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/basis-library/primitive/basis-ffi.sml 2011-07-20 20:18:15 UTC (rev 7557) @@ -540,6 +540,7 @@ val SC_ARG_MAX = _const "Posix_ProcEnv_SC_ARG_MAX" : C_Int.t; val SC_ASYNCHRONOUS_IO = _const "Posix_ProcEnv_SC_ASYNCHRONOUS_IO" : C_Int.t; val SC_ATEXIT_MAX = _const "Posix_ProcEnv_SC_ATEXIT_MAX" : C_Int.t; +val SC_AVPHYS_PAGES = _const "Posix_ProcEnv_SC_AVPHYS_PAGES" : C_Int.t; val SC_BARRIERS = _const "Posix_ProcEnv_SC_BARRIERS" : C_Int.t; val SC_BC_BASE_MAX = _const "Posix_ProcEnv_SC_BC_BASE_MAX" : C_Int.t; val SC_BC_DIM_MAX = _const "Posix_ProcEnv_SC_BC_DIM_MAX" : C_Int.t; @@ -570,9 +571,12 @@ val SC_MQ_OPEN_MAX = _const "Posix_ProcEnv_SC_MQ_OPEN_MAX" : C_Int.t; val SC_MQ_PRIO_MAX = _const "Posix_ProcEnv_SC_MQ_PRIO_MAX" : C_Int.t; val SC_NGROUPS_MAX = _const "Posix_ProcEnv_SC_NGROUPS_MAX" : C_Int.t; +val SC_NPROCESSORS_CONF = _const "Posix_ProcEnv_SC_NPROCESSORS_CONF" : C_Int.t; +val SC_NPROCESSORS_ONLN = _const "Posix_ProcEnv_SC_NPROCESSORS_ONLN" : C_Int.t; val SC_OPEN_MAX = _const "Posix_ProcEnv_SC_OPEN_MAX" : C_Int.t; val SC_PAGE_SIZE = _const "Posix_ProcEnv_SC_PAGE_SIZE" : C_Int.t; val SC_PAGESIZE = _const "Posix_ProcEnv_SC_PAGESIZE" : C_Int.t; +val SC_PHYS_PAGES = _const "Posix_ProcEnv_SC_PHYS_PAGES" : C_Int.t; val SC_PRIORITIZED_IO = _const "Posix_ProcEnv_SC_PRIORITIZED_IO" : C_Int.t; val SC_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_PRIORITY_SCHEDULING" : C_Int.t; val SC_RAW_SOCKETS = _const "Posix_ProcEnv_SC_RAW_SOCKETS" : C_Int.t; Modified: mlton/trunk/runtime/basis/Posix/ProcEnv/sysconf-consts.c =================================================================== --- mlton/trunk/runtime/basis/Posix/ProcEnv/sysconf-consts.c 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/runtime/basis/Posix/ProcEnv/sysconf-consts.c 2011-07-20 20:18:15 UTC (rev 7557) @@ -100,6 +100,10 @@ #define _SC_ADVISORY_INFO -1 #endif const C_Int_t Posix_ProcEnv_SC_ADVISORY_INFO = _SC_ADVISORY_INFO; +#ifndef _SC_AVPHYS_PAGES +#define _SC_AVPHYS_PAGES -1 +#endif +const C_Int_t Posix_ProcEnv_SC_AVPHYS_PAGES = _SC_AVPHYS_PAGES; #ifndef _SC_BARRIERS #define _SC_BARRIERS -1 #endif @@ -152,6 +156,18 @@ #define _SC_MONOTONIC_CLOCK -1 #endif const C_Int_t Posix_ProcEnv_SC_MONOTONIC_CLOCK = _SC_MONOTONIC_CLOCK; +#ifndef _SC_NPROCESSORS_CONF +#define _SC_NPROCESSORS_CONF -1 +#endif +const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_CONF = _SC_NPROCESSORS_CONF; +#ifndef _SC_NPROCESSORS_ONLN +#define _SC_NPROCESSORS_ONLN -1 +#endif +const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_ONLN = _SC_NPROCESSORS_ONLN; +#ifndef _SC_PHYS_PAGES +#define _SC_PHYS_PAGES -1 +#endif +const C_Int_t Posix_ProcEnv_SC_PHYS_PAGES = _SC_PHYS_PAGES; #ifndef _SC_PRIORITIZED_IO #define _SC_PRIORITIZED_IO -1 #endif Modified: mlton/trunk/runtime/basis-ffi.h =================================================================== --- mlton/trunk/runtime/basis-ffi.h 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/runtime/basis-ffi.h 2011-07-20 20:18:15 UTC (rev 7557) @@ -430,6 +430,7 @@ PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ARG_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ASYNCHRONOUS_IO; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ATEXIT_MAX; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_AVPHYS_PAGES; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BARRIERS; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BC_BASE_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BC_DIM_MAX; @@ -460,9 +461,12 @@ PRIVATE extern const C_Int_t Posix_ProcEnv_SC_MQ_OPEN_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_MQ_PRIO_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NGROUPS_MAX; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_CONF; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_ONLN; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_OPEN_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PAGE_SIZE; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PAGESIZE; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PHYS_PAGES; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PRIORITIZED_IO; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PRIORITY_SCHEDULING; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_RAW_SOCKETS; Modified: mlton/trunk/runtime/gen/basis-ffi.def =================================================================== --- mlton/trunk/runtime/gen/basis-ffi.def 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/runtime/gen/basis-ffi.def 2011-07-20 20:18:15 UTC (rev 7557) @@ -411,6 +411,7 @@ Posix.ProcEnv.SC_ARG_MAX = _const : C_Int.t Posix.ProcEnv.SC_ASYNCHRONOUS_IO = _const : C_Int.t Posix.ProcEnv.SC_ATEXIT_MAX = _const : C_Int.t +Posix.ProcEnv.SC_AVPHYS_PAGES = _const : C_Int.t Posix.ProcEnv.SC_BARRIERS = _const : C_Int.t Posix.ProcEnv.SC_BC_BASE_MAX = _const : C_Int.t Posix.ProcEnv.SC_BC_DIM_MAX = _const : C_Int.t @@ -441,9 +442,12 @@ Posix.ProcEnv.SC_MQ_OPEN_MAX = _const : C_Int.t Posix.ProcEnv.SC_MQ_PRIO_MAX = _const : C_Int.t Posix.ProcEnv.SC_NGROUPS_MAX = _const : C_Int.t +Posix.ProcEnv.SC_NPROCESSORS_CONF = _const : C_Int.t +Posix.ProcEnv.SC_NPROCESSORS_ONLN = _const : C_Int.t Posix.ProcEnv.SC_OPEN_MAX = _const : C_Int.t Posix.ProcEnv.SC_PAGESIZE = _const : C_Int.t Posix.ProcEnv.SC_PAGE_SIZE = _const : C_Int.t +Posix.ProcEnv.SC_PHYS_PAGES = _const : C_Int.t Posix.ProcEnv.SC_PRIORITIZED_IO = _const : C_Int.t Posix.ProcEnv.SC_PRIORITY_SCHEDULING = _const : C_Int.t Posix.ProcEnv.SC_RAW_SOCKETS = _const : C_Int.t Modified: mlton/trunk/runtime/gen/basis-ffi.h =================================================================== --- mlton/trunk/runtime/gen/basis-ffi.h 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/runtime/gen/basis-ffi.h 2011-07-20 20:18:15 UTC (rev 7557) @@ -430,6 +430,7 @@ PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ARG_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ASYNCHRONOUS_IO; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_ATEXIT_MAX; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_AVPHYS_PAGES; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BARRIERS; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BC_BASE_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_BC_DIM_MAX; @@ -460,9 +461,12 @@ PRIVATE extern const C_Int_t Posix_ProcEnv_SC_MQ_OPEN_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_MQ_PRIO_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NGROUPS_MAX; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_CONF; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_NPROCESSORS_ONLN; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_OPEN_MAX; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PAGE_SIZE; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PAGESIZE; +PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PHYS_PAGES; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PRIORITIZED_IO; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_PRIORITY_SCHEDULING; PRIVATE extern const C_Int_t Posix_ProcEnv_SC_RAW_SOCKETS; Modified: mlton/trunk/runtime/gen/basis-ffi.sml =================================================================== --- mlton/trunk/runtime/gen/basis-ffi.sml 2011-07-20 20:18:11 UTC (rev 7556) +++ mlton/trunk/runtime/gen/basis-ffi.sml 2011-07-20 20:18:15 UTC (rev 7557) @@ -540,6 +540,7 @@ val SC_ARG_MAX = _const "Posix_ProcEnv_SC_ARG_MAX" : C_Int.t; val SC_ASYNCHRONOUS_IO = _const "Posix_ProcEnv_SC_ASYNCHRONOUS_IO" : C_Int.t; val SC_ATEXIT_MAX = _const "Posix_ProcEnv_SC_ATEXIT_MAX" : C_Int.t; +val SC_AVPHYS_PAGES = _const "Posix_ProcEnv_SC_AVPHYS_PAGES" : C_Int.t; val SC_BARRIERS = _const "Posix_ProcEnv_SC_BARRIERS" : C_Int.t; val SC_BC_BASE_MAX = _const "Posix_ProcEnv_SC_BC_BASE_MAX" : C_Int.t; val SC_BC_DIM_MAX = _const "Posix_ProcEnv_SC_BC_DIM_MAX" : C_Int.t; @@ -570,9 +571,12 @@ val SC_MQ_OPEN_MAX = _const "Posix_ProcEnv_SC_MQ_OPEN_MAX" : C_Int.t; val SC_MQ_PRIO_MAX = _const "Posix_ProcEnv_SC_MQ_PRIO_MAX" : C_Int.t; val SC_NGROUPS_MAX = _const "Posix_ProcEnv_SC_NGROUPS_MAX" : C_Int.t; +val SC_NPROCESSORS_CONF = _const "Posix_ProcEnv_SC_NPROCESSORS_CONF" : C_Int.t; +val SC_NPROCESSORS_ONLN = _const "Posix_ProcEnv_SC_NPROCESSORS_ONLN" : C_Int.t; val SC_OPEN_MAX = _const "Posix_ProcEnv_SC_OPEN_MAX" : C_Int.t; val SC_PAGE_SIZE = _const "Posix_ProcEnv_SC_PAGE_SIZE" : C_Int.t; val SC_PAGESIZE = _const "Posix_ProcEnv_SC_PAGESIZE" : C_Int.t; +val SC_PHYS_PAGES = _const "Posix_ProcEnv_SC_PHYS_PAGES" : C_Int.t; val SC_PRIORITIZED_IO = _const "Posix_ProcEnv_SC_PRIORITIZED_IO" : C_Int.t; val SC_PRIORITY_SCHEDULING = _const "Posix_ProcEnv_SC_PRIORITY_SCHEDULING" : C_Int.t; val SC_RAW_SOCKETS = _const "Posix_ProcEnv_SC_RAW_SOCKETS" : C_Int.t; |
From: Matthew F. <fl...@ml...> - 2011-07-20 13:18:12
|
Name failing regression test. ---------------------------------------------------------------------- U mlton/trunk/bin/regression ---------------------------------------------------------------------- Modified: mlton/trunk/bin/regression =================================================================== --- mlton/trunk/bin/regression 2011-07-19 12:02:04 UTC (rev 7555) +++ mlton/trunk/bin/regression 2011-07-20 20:18:11 UTC (rev 7556) @@ -249,7 +249,7 @@ compare="$newcompare" fi if ! diff "$compare" "$tmp"; then - echo "difference with ${flags[*]} ${extraFlags[*]}" + echo "$f: difference with ${flags[*]} ${extraFlags[*]}" fi fi fi |
From: Wesley T. <we...@ml...> - 2011-07-19 05:03:02
|
Refresh patches using quilt Remove all non-bugfix changes in series 22 patch. ---------------------------------------------------------------------- U mlton/trunk/package/debian/patches/11-fixes-20100608-to-20110319.patch U mlton/trunk/package/debian/patches/22-fixes-20110319-to-20110719.patch ---------------------------------------------------------------------- Modified: mlton/trunk/package/debian/patches/11-fixes-20100608-to-20110319.patch =================================================================== --- mlton/trunk/package/debian/patches/11-fixes-20100608-to-20110319.patch 2011-07-19 11:23:18 UTC (rev 7554) +++ mlton/trunk/package/debian/patches/11-fixes-20100608-to-20110319.patch 2011-07-19 12:02:04 UTC (rev 7555) @@ -3,16 +3,16 @@ Forwarded: no Last-Update: 2011-03-20 -Index: regression/common-subexp0.ok +Index: mlton-20100608/regression/common-subexp0.ok =================================================================== ---- mlton.orig/regression/common-subexp0.ok (.../tags/on-20100608-release) (revision 0) -+++ mlton/regression/common-subexp0.ok (.../trunk) (revision 7506) +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mlton-20100608/regression/common-subexp0.ok 2011-07-19 11:34:28.000000000 +0000 @@ -0,0 +1 @@ +nan -Index: regression/weak.3.sml +Index: mlton-20100608/regression/weak.3.sml =================================================================== ---- mlton.orig/regression/weak.3.sml (.../tags/on-20100608-release) (revision 0) -+++ mlton/regression/weak.3.sml (.../trunk) (revision 7506) +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mlton-20100608/regression/weak.3.sml 2011-07-19 11:34:28.000000000 +0000 @@ -0,0 +1,23 @@ +fun find cache x = + case (List.find (fn (y,_) => x = y) (!cache)) of @@ -37,27 +37,27 @@ + end + +val _ = List.app (fn x => print (concat [Int.toString (lookup x), "\n"])) [5,4,3,2,1] -Index: regression/weak.3.ok +Index: mlton-20100608/regression/weak.3.ok =================================================================== ---- mlton.orig/regression/weak.3.ok (.../tags/on-20100608-release) (revision 0) -+++ mlton/regression/weak.3.ok (.../trunk) (revision 7506) +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mlton-20100608/regression/weak.3.ok 2011-07-19 11:34:28.000000000 +0000 @@ -0,0 +1,5 @@ +6 +5 +4 +3 +2 -Index: regression/common-subexp0.sml +Index: mlton-20100608/regression/common-subexp0.sml =================================================================== ---- mlton.orig/regression/common-subexp0.sml (.../tags/on-20100608-release) (revision 0) -+++ mlton/regression/common-subexp0.sml (.../trunk) (revision 7506) +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mlton-20100608/regression/common-subexp0.sml 2011-07-19 11:34:28.000000000 +0000 @@ -0,0 +1,2 @@ +val x = !(ref 0.0) / !(ref 0.0) +val _ = print (concat [Real.toString x, "\n"]) -Index: regression/real-basic.x86-mingw.ok +Index: mlton-20100608/regression/real-basic.x86-mingw.ok =================================================================== ---- mlton.orig/regression/real-basic.x86-mingw.ok (.../tags/on-20100608-release) (revision 0) -+++ mlton/regression/real-basic.x86-mingw.ok (.../trunk) (revision 7506) +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mlton-20100608/regression/real-basic.x86-mingw.ok 2011-07-19 11:34:28.000000000 +0000 @@ -0,0 +1,32 @@ +Real32 + Reported @@ -91,15 +91,27 @@ + max exponent: 1024 + min exponent: ~1074 + min denormal: ~1074 -Index: runtime/platform/mingw.c +Index: mlton-20100608/runtime/platform/mingw.c =================================================================== ---- mlton.orig/runtime/platform/mingw.c (.../tags/on-20100608-release) (revision 7506) -+++ mlton/runtime/platform/mingw.c (.../trunk) (revision 7506) +--- mlton-20100608.orig/runtime/platform/mingw.c 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/runtime/platform/mingw.c 2011-07-19 11:34:28.000000000 +0000 @@ -1308,26 +1308,75 @@ } } -/* The default strerror() does not know extended error codes. */ +-char *MLton_strerror(int code) { +- static char buffer[512]; +- +- /* Windows specific strerror */ +- if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, +- 0, /* Not used for FROM_SYSTEM */ +- code, /* The status code to look up */ +- 0, /* Use the default language */ +- buffer, /* Write the message to here */ +- sizeof(buffer)-1, +- 0) == 0) { +- strcpy(buffer, "Unknown error"); +static const char *MLton_strerrorExtension(int code) { + switch (code) { + case EINTR: return "Interrupted function call"; @@ -145,7 +157,7 @@ + case EUSERS: return "Too many users"; + case ECANCELED: return "Operation canceled"; + default: return "Unknown error"; -+ } + } +} + +/* MinGW strerror works for all system-defined errno values. @@ -161,21 +173,9 @@ + * Thus, we just make a big English table to augment strerror. + * The descriptions are taken from man errno(3). + */ - char *MLton_strerror(int code) { -- static char buffer[512]; ++char *MLton_strerror(int code) { + static char buffer[80]; -- /* Windows specific strerror */ -- if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, -- 0, /* Not used for FROM_SYSTEM */ -- code, /* The status code to look up */ -- 0, /* Use the default language */ -- buffer, /* Write the message to here */ -- sizeof(buffer)-1, -- 0) == 0) { -- strcpy(buffer, "Unknown error"); -- } -- - /* Cut message at EOL */ - for (int i = 0; buffer[i]; ++i) - if (buffer[i] == '\n' || buffer[i] == '\r') @@ -189,10 +189,10 @@ return buffer; } -Index: mlton/atoms/real-x.fun +Index: mlton-20100608/mlton/atoms/real-x.fun =================================================================== ---- mlton.orig/mlton/atoms/real-x.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/atoms/real-x.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/atoms/real-x.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/atoms/real-x.fun 2011-07-19 11:34:28.000000000 +0000 @@ -1,4 +1,4 @@ -(* Copyright (C) 2009 Matthew Fluet. +(* Copyright (C) 2009,2011 Matthew Fluet. @@ -233,10 +233,10 @@ end | _ => false -Index: mlton/main/main.fun +Index: mlton-20100608/mlton/main/main.fun =================================================================== ---- mlton.orig/mlton/main/main.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/main/main.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/main/main.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/main/main.fun 2011-07-19 11:34:28.000000000 +0000 @@ -737,7 +737,7 @@ Result.Yes () => () | Result.No s' => usage (concat ["invalid -ssa2-passes arg: ", s'])) @@ -246,10 +246,10 @@ SpaceString (fn s => stop := (case s of -Index: mlton/ssa/common-subexp.fun +Index: mlton-20100608/mlton/ssa/common-subexp.fun =================================================================== ---- mlton.orig/mlton/ssa/common-subexp.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/ssa/common-subexp.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/ssa/common-subexp.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/ssa/common-subexp.fun 2011-07-19 11:34:28.000000000 +0000 @@ -1,4 +1,4 @@ -(* Copyright (C) 2009 Matthew Fluet. +(* Copyright (C) 2009,2011 Matthew Fluet. @@ -477,10 +477,10 @@ Program.T {datatypes = datatypes, globals = globals, functions = functions, -Index: mlton/backend/ssa-to-rssa.fun +Index: mlton-20100608/mlton/backend/ssa-to-rssa.fun =================================================================== ---- mlton.orig/mlton/backend/ssa-to-rssa.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/backend/ssa-to-rssa.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/backend/ssa-to-rssa.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/backend/ssa-to-rssa.fun 2011-07-19 11:34:28.000000000 +0000 @@ -1,4 +1,4 @@ -(* Copyright (C) 2009 Matthew Fluet. +(* Copyright (C) 2009,2011 Matthew Fluet. @@ -498,10 +498,10 @@ | Weak_new => ifIsWeakPointer (ty, -Index: mlton/elaborate/elaborate-core.fun +Index: mlton-20100608/mlton/elaborate/elaborate-core.fun =================================================================== ---- mlton.orig/mlton/elaborate/elaborate-core.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/elaborate/elaborate-core.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/elaborate/elaborate-core.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/elaborate/elaborate-core.fun 2011-07-19 11:34:28.000000000 +0000 @@ -2097,31 +2097,32 @@ pats = pats} end)) @@ -553,10 +553,10 @@ in t end) -Index: mlton/codegen/amd64-codegen/amd64-generate-transfers.fun +Index: mlton-20100608/mlton/codegen/amd64-codegen/amd64-generate-transfers.fun =================================================================== ---- mlton.orig/mlton/codegen/amd64-codegen/amd64-generate-transfers.fun (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlton/codegen/amd64-codegen/amd64-generate-transfers.fun (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlton/codegen/amd64-codegen/amd64-generate-transfers.fun 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlton/codegen/amd64-codegen/amd64-generate-transfers.fun 2011-07-19 11:34:28.000000000 +0000 @@ -1357,6 +1357,31 @@ size = pointerSize})), size_stack_args + 32) @@ -589,10 +589,10 @@ (* val reserve_args = AppendList.fromList -Index: doc/changelog +Index: mlton-20100608/doc/changelog =================================================================== ---- mlton.orig/doc/changelog (.../tags/on-20100608-release) (revision 7506) -+++ mlton/doc/changelog (.../trunk) (revision 7506) +--- mlton-20100608.orig/doc/changelog 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/doc/changelog 2011-07-19 11:34:28.000000000 +0000 @@ -1,3 +1,20 @@ +Here are the changes from version 2010608 to version YYYYMMDD. + @@ -614,10 +614,10 @@ Here are the changes from version 20070826 to version 20100608. Summary: -Index: lib/mlton/basic/real.sig +Index: mlton-20100608/lib/mlton/basic/real.sig =================================================================== ---- mlton.orig/lib/mlton/basic/real.sig (.../tags/on-20100608-release) (revision 7506) -+++ mlton/lib/mlton/basic/real.sig (.../trunk) (revision 7506) +--- mlton-20100608.orig/lib/mlton/basic/real.sig 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/lib/mlton/basic/real.sig 2011-07-19 11:34:28.000000000 +0000 @@ -1,4 +1,4 @@ -(* Copyright (C) 2009 Matthew Fluet. +(* Copyright (C) 2009,2011 Matthew Fluet. @@ -632,10 +632,10 @@ val layout: t -> Layout.t val ln: t -> t val log2: t -> t -Index: mlyacc/src/yacc.lex +Index: mlton-20100608/mlyacc/src/yacc.lex =================================================================== ---- mlton.orig/mlyacc/src/yacc.lex (.../tags/on-20100608-release) (revision 7506) -+++ mlton/mlyacc/src/yacc.lex (.../trunk) (revision 7506) +--- mlton-20100608.orig/mlyacc/src/yacc.lex 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/mlyacc/src/yacc.lex 2011-07-19 11:34:28.000000000 +0000 @@ -75,11 +75,11 @@ qualid ={id}"."; %% @@ -651,11 +651,11 @@ <INITIAL>"%%" => (YYBEGIN A; HEADER (concat (rev (!text)),pos yypos,pos yypos)); <INITIAL,CODE,COMMENT,F,EMPTYCOMMENT>{eol} => (Add yytext; incLineNum yypos; continue()); <INITIAL>. => (Add yytext; continue()); -Index: bin/mlton-script +Index: mlton-20100608/bin/mlton-script =================================================================== ---- mlton.orig/bin/mlton-script (.../tags/on-20100608-release) (revision 7506) -+++ mlton/bin/mlton-script (.../trunk) (revision 7506) -@@ -132,6 +132,7 @@ +--- mlton-20100608.orig/bin/mlton-script 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/bin/mlton-script 2011-07-19 11:34:28.000000000 +0000 +@@ -131,6 +131,7 @@ -target-link-opt freebsd '-L/usr/local/lib/' \ -target-link-opt aix '-maix64' \ -target-link-opt ia64 "$ia64hpux" \ @@ -663,10 +663,10 @@ -target-link-opt mingw \ '-lws2_32 -lkernel32 -lpsapi -lnetapi32 -lwinmm' \ -target-link-opt mingw '-Wl,--enable-stdcall-fixup' \ -Index: lib/mlton/basic/dir.sml +Index: mlton-20100608/lib/mlton/basic/dir.sml =================================================================== ---- mlton.orig/lib/mlton/basic/dir.sml (revision 7509) -+++ mlton/lib/mlton/basic/dir.sml (working copy) +--- mlton-20100608.orig/lib/mlton/basic/dir.sml 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/lib/mlton/basic/dir.sml 2011-07-19 11:34:28.000000000 +0000 @@ -56,6 +56,7 @@ fold (d, ([], []), fn (x, (dirs, files)) => let @@ -675,10 +675,10 @@ in if FS.isLink file then (dirs, files) -Index: runtime/Makefile +Index: mlton-20100608/runtime/Makefile =================================================================== ---- mlton.orig/runtime/Makefile (revision 7509) -+++ mlton/runtime/Makefile (working copy) +--- mlton-20100608.orig/runtime/Makefile 2011-07-19 11:34:22.000000000 +0000 ++++ mlton-20100608/runtime/Makefile 2011-07-19 11:34:28.000000000 +0000 @@ -179,7 +179,6 @@ # WARNCFLAGS += -Wpadded WARNCFLAGS += -Wredundant-decls Modified: mlton/trunk/package/debian/patches/22-fixes-20110319-to-20110719.patch =================================================================== --- mlton/trunk/package/debian/patches/22-fixes-20110319-to-20110719.patch 2011-07-19 11:23:18 UTC (rev 7554) +++ mlton/trunk/package/debian/patches/22-fixes-20110319-to-20110719.patch 2011-07-19 12:02:04 UTC (rev 7555) @@ -1,96 +1,140 @@ -Index: regression/weird-word1.sml -=================================================================== ---- regression/weird-word1.sml (revision 0) -+++ regression/weird-word1.sml (revision 7552) -@@ -0,0 +1,26 @@ -+fun fib (w: Word5.word) : Word5.word = -+ if w <= 0wx1 -+ then 0wx1 -+ else fib (w - 0wx1) + fib (w - 0wx2) +--- a/doc/changelog ++++ b/doc/changelog +@@ -1,5 +1,20 @@ + Here are the changes from version 2010608 to version YYYYMMDD. + ++* 2011-06-14 ++ - Fixed bug in SSA/SSA2 shrinker that could erroneously turn a ++ non-tail function call with a Bug transfer as its continuation ++ into a tail function call. + -+val s = -+ case (fib 0wx5) of -+ 0wx0 => "0wx0" -+ | 0wx1 => "0wx1" -+ | 0wx2 => "0wx2" -+ | 0wx3 => "0wx3" -+ | 0wx4 => "0wx4" -+ | 0wx5 => "0wx5" -+ | 0wx6 => "0wx6" -+ | 0wx7 => "0wx7" -+ | 0wx8 => "0wx8" -+ | 0wx9 => "0wx9" -+ | 0wxA => "0wxA" -+ | 0wxB => "0wxB" -+ | 0wxC => "0wxC" -+ | 0wxD => "0wxD" -+ | 0wxE => "0wxE" -+ | 0wxF => "0wxF" -+ | _ => "zzz" ++* 2011-06-10 ++ - Fixed bug in translation from SSA2 to RSSA with case expressions ++ over non-primitive-sized words. ++ - Fixed bug in SSA/SSA2 type checking of case expressions over ++ words. + -+val _ = print (concat [s, "\n"]) -Index: regression/weird-word2.sml -=================================================================== ---- regression/weird-word2.sml (revision 0) -+++ regression/weird-word2.sml (revision 7552) -@@ -0,0 +1,41 @@ -+fun fib (w: Word5.word) : Word5.word = -+ if w <= 0wx1 -+ then 0wx1 -+ else fib (w - 0wx1) + fib (w - 0wx2) ++* 2011-05-03 ++ - Fixed a bug with the treatment of as-patterns, which should not ++ allow the redefinition of constructor status. + -+val s = -+ case (fib 0wx5) of -+ 0wx0 => "0wx0" -+ | 0wx1 => "0wx1" -+ | 0wx2 => "0wx2" -+ | 0wx3 => "0wx3" -+ | 0wx4 => "0wx4" -+ | 0wx5 => "0wx5" -+ | 0wx6 => "0wx6" -+ | 0wx7 => "0wx7" -+ | 0wx8 => "0wx8" -+ | 0wx9 => "0wx9" -+ | 0wxA => "0wxA" -+ | 0wxB => "0wxB" -+ | 0wxC => "0wxC" -+ | 0wxD => "0wxD" -+ | 0wxE => "0wxE" -+ | 0wxF => "0wxF" -+ | 0wx10 => "0wx10" -+ | 0wx11 => "0wx11" -+ | 0wx12 => "0wx12" -+ | 0wx13 => "0wx13" -+ | 0wx14 => "0wx14" -+ | 0wx15 => "0wx15" -+ | 0wx16 => "0wx16" -+ | 0wx17 => "0wx17" -+ | 0wx18 => "0wx18" -+ | 0wx19 => "0wx19" -+ | 0wx1A => "0wx1A" -+ | 0wx1B => "0wx1B" -+ | 0wx1C => "0wx1C" -+ | 0wx1D => "0wx1D" -+ | 0wx1E => "0wx1E" -+ | 0wx1F => "0wx1F" + * 2011-02-18 + - Fixed bug with treatment of nan in common subexpression + elimination SSA optimization. +--- a/doc/examples/finalizable/finalizable.sml ++++ b/doc/examples/finalizable/finalizable.sml +@@ -8,15 +8,16 @@ + end + + functor CList (structure F: MLTON_FINALIZABLE ++ structure P: MLTON_POINTER + structure Prim: + sig +- val cons: int * Word32.word -> Word32.word +- val free: Word32.word -> unit +- val sing: int -> Word32.word +- val sum: Word32.word -> int ++ val cons: int * P.t -> P.t ++ val free: P.t -> unit ++ val sing: int -> P.t ++ val sum: P.t -> int + end): CLIST = + struct +- type t = Word32.word F.t ++ type t = P.t F.t + + fun cons (n: int, l: t) = + F.withValue +@@ -77,12 +78,13 @@ + + structure CList = + CList (structure F = MLton.Finalizable ++ structure P = MLton.Pointer + structure Prim = + struct +- val cons = _import "listCons": int * Word32.word -> Word32.word; +- val free = _import "listFree": Word32.word -> unit; +- val sing = _import "listSing": int -> Word32.word; +- val sum = _import "listSum": Word32.word -> int; ++ val cons = _import "listCons": int * P.t -> P.t; ++ val free = _import "listFree": P.t -> unit; ++ val sing = _import "listSing": int -> P.t; ++ val sum = _import "listSum": P.t -> int; + end) + + structure S = Test (structure CList = CList +--- a/ide/enscript/sml_all.st ++++ b/ide/enscript/sml_all.st +@@ -88,6 +88,11 @@ + */ + state sml_string + { ++ /\\\\(\s|\n)/ { ++ language_print ($0); ++ call (sml_string_gap); ++ } + -+val _ = print (concat [s, "\n"]) -Index: regression/weird-word1.ok -=================================================================== ---- regression/weird-word1.ok (revision 0) -+++ regression/weird-word1.ok (revision 7552) -@@ -0,0 +1 @@ -+0wx8 -Index: regression/weird-word2.ok -=================================================================== ---- regression/weird-word2.ok (revision 0) -+++ regression/weird-word2.ok (revision 7552) -@@ -0,0 +1 @@ -+0wx8 -Index: mllex/lexgen.sml -=================================================================== ---- mllex/lexgen.sml (revision 7524) -+++ mllex/lexgen.sml (revision 7552) + /\\\\./ { + language_print ($0); + } +@@ -96,6 +101,22 @@ + language_print ($0); + return; + } ++ ++ LANGUAGE_SPECIALS { ++ language_print ($0); ++ } ++} ++ ++state sml_string_gap ++{ ++ /(\s|\n)/ { ++ language_print ($0); ++ } ++ ++ /\\\\/ { ++ language_print ($0); ++ return; ++ } + + LANGUAGE_SPECIALS { + language_print ($0); +--- a/ide/enscript/sml_simple.st ++++ b/ide/enscript/sml_simple.st +@@ -77,6 +77,11 @@ + */ + state sml_string extends Highlight + { ++ /\\\\(\s|\n)/ { ++ language_print ($0); ++ call (sml_string_gap); ++ } ++ + /\\\\./ { + language_print ($0); + } +@@ -85,6 +90,18 @@ + language_print ($0); + return; + } ++} ++ ++state sml_string_gap extends Highlight ++{ ++ /(\s|\n)/ { ++ language_print ($0); ++ } ++ ++ /\\\\/ { ++ language_print ($0); ++ return; ++ } + } + + /* +--- a/mllex/lexgen.sml ++++ b/mllex/lexgen.sml @@ -1,3 +1,6 @@ +(* Modified by Matthew Fluet on 2011-06-17. + * Use simple file name (rather than absolute paths) in line directives in output. @@ -116,3975 +160,62 @@ fun PrintLexer (ends) = let val sayln = fn x => (say x; say "\n") in case !ArgCode -Index: include/bytecode.h -=================================================================== ---- include/bytecode.h (revision 7524) -+++ include/bytecode.h (revision 7552) -@@ -1,12 +0,0 @@ --/* Copyright (C) 2004-2007 Henry Cejtin, Matthew Fluet, Suresh -- * Jagannathan, and Stephen Weeks. -- * -- * MLton is released under a BSD-style license. -- * See the file MLton-LICENSE for details. -- */ -- --#include <stdint.h> --#include "ml-types.h" --#include "c-types.h" --#include "export.h" --#include "interpret.h" -Index: include/bytecode-main.h -=================================================================== ---- include/bytecode-main.h (revision 7524) -+++ include/bytecode-main.h (revision 7552) -@@ -1,87 +0,0 @@ --/* Copyright (C) 2004-2007 Henry Cejtin, Matthew Fluet, Suresh -- * Jagannathan, and Stephen Weeks. -- * -- * MLton is released under a BSD-style license. -- * See the file MLton-LICENSE for details. -- */ -- --#ifndef _BYTECODE_MAIN_H_ --#define _BYTECODE_MAIN_H_ -- --#include "common-main.h" --#include "interpret.h" -- --#ifndef DEBUG_CODEGEN --#define DEBUG_CODEGEN FALSE --#endif -- --PRIVATE extern struct Bytecode MLton_bytecode; -- --static GC_frameIndex returnAddressToFrameIndex (GC_returnAddress ra) { -- return *((GC_frameIndex*)(MLton_bytecode.code + ra - sizeof(GC_frameIndex))); --} -- --#define MLtonCallFromC \ --static void MLton_callFromC () { \ -- uintptr_t nextFun; \ -- GC_state s; \ -- \ -- if (DEBUG_CODEGEN) \ -- fprintf (stderr, "MLton_callFromC() starting\n"); \ -- s = &gcState; \ -- GC_setSavedThread (s, GC_getCurrentThread (s)); \ -- s->atomicState += 3; \ -- if (s->signalsInfo.signalIsPending) \ -- s->limit = s->limitPlusSlop - GC_HEAP_LIMIT_SLOP; \ -- /* Switch to the C Handler thread. */ \ -- GC_switchToThread (s, GC_getCallFromCHandlerThread (s), 0); \ -- nextFun = *(uintptr_t*)(s->stackTop - GC_RETURNADDRESS_SIZE); \ -- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \ -- s->atomicState += 1; \ -- GC_switchToThread (s, GC_getSavedThread (s), 0); \ -- s->atomicState -= 1; \ -- if (0 == s->atomicState \ -- && s->signalsInfo.signalIsPending) \ -- s->limit = 0; \ -- if (DEBUG_CODEGEN) \ -- fprintf (stderr, "MLton_callFromC done\n"); \ --} \ -- --#define MLtonMain(al, mg, mfs, mmc, pk, ps, ml) \ --MLtonCallFromC \ --PUBLIC int MLton_main (int argc, char* argv[]) { \ -- uintptr_t nextFun; \ -- Initialize (al, mg, mfs, mmc, pk, ps); \ -- if (gcState.amOriginal) { \ -- real_Init(); \ -- nextFun = ml; \ -- } else { \ -- /* Return to the saved world */ \ -- nextFun = *(uintptr_t*)(gcState.stackTop - GC_RETURNADDRESS_SIZE); \ -- } \ -- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \ -- return 1; \ --} -- --#define MLtonLibrary(al, mg, mfs, mmc, pk, ps, ml) \ --MLtonCallFromC \ --PUBLIC void LIB_OPEN(LIBNAME) (int argc, char* argv[]) { \ -- uintptr_t nextFun; \ -- Initialize (al, mg, mfs, mmc, pk, ps); \ -- if (gcState.amOriginal) { \ -- real_Init(); \ -- nextFun = ml; \ -- } else { \ -- /* Return to the saved world */ \ -- nextFun = *(uintptr_t*)(gcState.stackTop - GC_RETURNADDRESS_SIZE); \ -- } \ -- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \ --} \ --PUBLIC void LIB_CLOSE(LIBNAME) () { \ -- uintptr_t nextFun; \ -- nextFun = *(uintptr_t*)(gcState.stackTop - GC_RETURNADDRESS_SIZE); \ -- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \ -- GC_done(&gcState); \ --} -- --#endif /* #ifndef _BYTECODE_MAIN_H */ -Index: runtime/gdtoa-patch.mlton -=================================================================== ---- runtime/gdtoa-patch.mlton (revision 7524) -+++ runtime/gdtoa-patch.mlton (revision 7552) -@@ -1,98 +1,103 @@ ----- gdtoa/gdtoa.h.orig 2008-07-31 18:07:23.128804424 +0200 --+++ gdtoa/gdtoa.h 2008-07-31 18:09:01.333773640 +0200 --@@ -39,6 +39,7 @@ -- #define GDTOA_H_INCLUDED -- -- #include "arith.h" --+#include "../export.h" -- -- #ifndef Long -- #define Long long --@@ -108,42 +109,42 @@ -- extern "C" { -- #endif -- ---extern char* gdtoa__dtoa ANSI((double d, int mode, int ndigits, int *decpt, --+PRIVATE extern char* gdtoa__dtoa ANSI((double d, int mode, int ndigits, int *decpt, -- int *sign, char **rve)); ---extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, --+PRIVATE extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, -- int mode, int ndigits, int *decpt, char **rve)); ---extern void gdtoa__freedtoa ANSI((char*)); ---extern float gdtoa__strtof ANSI((CONST char *, char **)); ---extern double gdtoa__strtod ANSI((CONST char *, char **)); ---extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); --- ---extern char* gdtoa__g_ddfmt ANSI((char*, double*, int, unsigned)); ---extern char* gdtoa__g_dfmt ANSI((char*, double*, int, unsigned)); ---extern char* gdtoa__g_ffmt ANSI((char*, float*, int, unsigned)); ---extern char* gdtoa__g_Qfmt ANSI((char*, void*, int, unsigned)); ---extern char* gdtoa__g_xfmt ANSI((char*, void*, int, unsigned)); ---extern char* gdtoa__g_xLfmt ANSI((char*, void*, int, unsigned)); --- ---extern int gdtoa__strtoId ANSI((CONST char*, char**, double*, double*)); ---extern int gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*)); ---extern int gdtoa__strtoIf ANSI((CONST char*, char**, float*, float*)); ---extern int gdtoa__strtoIQ ANSI((CONST char*, char**, void*, void*)); ---extern int gdtoa__strtoIx ANSI((CONST char*, char**, void*, void*)); ---extern int gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*)); ---extern int gdtoa__strtord ANSI((CONST char*, char**, int, double*)); ---extern int gdtoa__strtordd ANSI((CONST char*, char**, int, double*)); ---extern int gdtoa__strtorf ANSI((CONST char*, char**, int, float*)); ---extern int gdtoa__strtorQ ANSI((CONST char*, char**, int, void*)); ---extern int gdtoa__strtorx ANSI((CONST char*, char**, int, void*)); ---extern int gdtoa__strtorxL ANSI((CONST char*, char**, int, void*)); --+PRIVATE extern void gdtoa__freedtoa ANSI((char*)); --+PRIVATE extern float gdtoa__strtof ANSI((CONST char *, char **)); --+PRIVATE extern double gdtoa__strtod ANSI((CONST char *, char **)); --+PRIVATE extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); --+ --+PRIVATE extern char* gdtoa__g_ddfmt ANSI((char*, double*, int, unsigned)); --+PRIVATE extern char* gdtoa__g_dfmt ANSI((char*, double*, int, unsigned)); --+PRIVATE extern char* gdtoa__g_ffmt ANSI((char*, float*, int, unsigned)); --+PRIVATE extern char* gdtoa__g_Qfmt ANSI((char*, void*, int, unsigned)); --+PRIVATE extern char* gdtoa__g_xfmt ANSI((char*, void*, int, unsigned)); --+PRIVATE extern char* gdtoa__g_xLfmt ANSI((char*, void*, int, unsigned)); --+ --+PRIVATE extern int gdtoa__strtoId ANSI((CONST char*, char**, double*, double*)); --+PRIVATE extern int gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*)); --+PRIVATE extern int gdtoa__strtoIf ANSI((CONST char*, char**, float*, float*)); --+PRIVATE extern int gdtoa__strtoIQ ANSI((CONST char*, char**, void*, void*)); --+PRIVATE extern int gdtoa__strtoIx ANSI((CONST char*, char**, void*, void*)); --+PRIVATE extern int gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*)); --+PRIVATE extern int gdtoa__strtord ANSI((CONST char*, char**, int, double*)); --+PRIVATE extern int gdtoa__strtordd ANSI((CONST char*, char**, int, double*)); --+PRIVATE extern int gdtoa__strtorf ANSI((CONST char*, char**, int, float*)); --+PRIVATE extern int gdtoa__strtorQ ANSI((CONST char*, char**, int, void*)); --+PRIVATE extern int gdtoa__strtorx ANSI((CONST char*, char**, int, void*)); --+PRIVATE extern int gdtoa__strtorxL ANSI((CONST char*, char**, int, void*)); -- #if 1 ---extern int gdtoa__strtodI ANSI((CONST char*, char**, double*)); ---extern int gdtoa__strtopd ANSI((CONST char*, char**, double*)); ---extern int gdtoa__strtopdd ANSI((CONST char*, char**, double*)); ---extern int gdtoa__strtopf ANSI((CONST char*, char**, float*)); ---extern int gdtoa__strtopQ ANSI((CONST char*, char**, void*)); ---extern int gdtoa__strtopx ANSI((CONST char*, char**, void*)); ---extern int gdtoa__strtopxL ANSI((CONST char*, char**, void*)); --+PRIVATE extern int gdtoa__strtodI ANSI((CONST char*, char**, double*)); --+PRIVATE extern int gdtoa__strtopd ANSI((CONST char*, char**, double*)); --+PRIVATE extern int gdtoa__strtopdd ANSI((CONST char*, char**, double*)); --+PRIVATE extern int gdtoa__strtopf ANSI((CONST char*, char**, float*)); --+PRIVATE extern int gdtoa__strtopQ ANSI((CONST char*, char**, void*)); --+PRIVATE extern int gdtoa__strtopx ANSI((CONST char*, char**, void*)); --+PRIVATE extern int gdtoa__strtopxL ANSI((CONST char*, char**, void*)); -- #else -- #define gdtoa__strtopd(s,se,x) gdtoa__strtord(s,se,1,x) -- #define gdtoa__strtopdd(s,se,x) gdtoa__strtordd(s,se,1,x) ----- gdtoa/gdtoaimp.h.orig 2008-10-04 02:33:51 +0000 --+++ gdtoa/gdtoaimp.h 2008-10-04 02:34:41 +0000 --@@ -503,7 +503,8 @@ -- #define g__fmt g__fmt_D2A -- #define gethex gethex_D2A -- #define hexdig hexdig_D2A ---#define hexdig_init hexdig_init_D2A --+/* work around MinGW bug */ --+#define hexdig_init hexdig_init_D3A -- #define hexnan hexnan_D2A -- #define hi0bits hi0bits_D2A -- #define i2b i2b_D2A -+diff -P -C 2 -r gdtoa/gdtoa.h gdtoa-new/gdtoa.h -+*** gdtoa/gdtoa.h 2011-05-27 17:20:57.492026828 -0400 -+--- gdtoa-new/gdtoa.h 2011-05-27 17:21:21.004032383 -0400 -+*************** -+*** 105,144 **** -+ #endif -+ -+! extern char* gdtoa__dtoa ANSI((double d, int mode, int ndigits, int *decpt, -+ int *sign, char **rve)); -+! extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, -+ int mode, int ndigits, int *decpt, char **rve)); -+! extern void gdtoa__freedtoa ANSI((char*)); -+! extern float gdtoa__strtof ANSI((CONST char *, char **)); -+! extern double gdtoa__strtod ANSI((CONST char *, char **)); -+! extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); -+ -+! extern char* gdtoa__g_ddfmt ANSI((char*, double*, int, size_t)); -+! extern char* gdtoa__g_dfmt ANSI((char*, double*, int, size_t)); -+! extern char* gdtoa__g_ffmt ANSI((char*, float*, int, size_t)); -+! extern char* gdtoa__g_Qfmt ANSI((char*, void*, int, size_t)); -+! extern char* gdtoa__g_xfmt ANSI((char*, void*, int, size_t)); -+! extern char* gdtoa__g_xLfmt ANSI((char*, void*, int, size_t)); -+ -+! extern int gdtoa__strtoId ANSI((CONST char*, char**, double*, double*)); -+! extern int gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*)); -+! extern int gdtoa__strtoIf ANSI((CONST char*, char**, float*, float*)); -+! extern int gdtoa__strtoIQ ANSI((CONST char*, char**, void*, void*)); -+! extern int gdtoa__strtoIx ANSI((CONST char*, char**, void*, void*)); -+! extern int gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*)); -+! extern int gdtoa__strtord ANSI((CONST char*, char**, int, double*)); -+! extern int gdtoa__strtordd ANSI((CONST char*, char**, int, double*)); -+! extern int gdtoa__strtorf ANSI((CONST char*, char**, int, float*)); -+! extern int gdtoa__strtorQ ANSI((CONST char*, char**, int, void*)); -+! extern int gdtoa__strtorx ANSI((CONST char*, char**, int, void*)); -+! extern int gdtoa__strtorxL ANSI((CONST char*, char**, int, void*)); -+ #if 1 -+! extern int gdtoa__strtodI ANSI((CONST char*, char**, double*)); -+! extern int gdtoa__strtopd ANSI((CONST char*, char**, double*)); -+! extern int gdtoa__strtopdd ANSI((CONST char*, char**, double*)); -+! extern int gdtoa__strtopf ANSI((CONST char*, char**, float*)); -+! extern int gdtoa__strtopQ ANSI((CONST char*, char**, void*)); -+! extern int gdtoa__strtopx ANSI((CONST char*, char**, void*)); -+! extern int gdtoa__strtopxL ANSI((CONST char*, char**, void*)); -+ #else -+ #define gdtoa__strtopd(s,se,x) gdtoa__strtord(s,se,1,x) -+--- 105,144 ---- -+ #endif -+ -+! PRIVATE extern char* gdtoa__dtoa ANSI((double d, int mode, int ndigits, int *decpt, -+ int *sign, char **rve)); -+! PRIVATE extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, -+ int mode, int ndigits, int *decpt, char **rve)); -+! PRIVATE extern void gdtoa__freedtoa ANSI((char*)); -+! PRIVATE extern float gdtoa__strtof ANSI((CONST char *, char **)); -+! PRIVATE extern double gdtoa__strtod ANSI((CONST char *, char **)); -+! PRIVATE extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); -+ -+! PRIVATE extern char* gdtoa__g_ddfmt ANSI((char*, double*, int, size_t)); -+! PRIVATE extern char* gdtoa__g_dfmt ANSI((char*, double*, int, size_t)); -+! PRIVATE extern char* gdtoa__g_ffmt ANSI((char*, float*, int, size_t)); -+! PRIVATE extern char* gdtoa__g_Qfmt ANSI((char*, void*, int, size_t)); -+! PRIVATE extern char* gdtoa__g_xfmt ANSI((char*, void*, int, size_t)); -+! PRIVATE extern char* gdtoa__g_xLfmt ANSI((char*, void*, int, size_t)); -+ -+! PRIVATE extern int gdtoa__strtoId ANSI((CONST char*, char**, double*, double*)); -+! PRIVATE extern int gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*)); -+! PRIVATE extern int gdtoa__strtoIf ANSI((CONST char*, char**, float*, float*)); -+! PRIVATE extern int gdtoa__strtoIQ ANSI((CONST char*, char**, void*, void*)); -+! PRIVATE extern int gdtoa__strtoIx ANSI((CONST char*, char**, void*, void*)); -+! PRIVATE extern int gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*)); -+! PRIVATE extern int gdtoa__strtord ANSI((CONST char*, char**, int, double*)); -+! PRIVATE extern int gdtoa__strtordd ANSI((CONST char*, char**, int, double*)); -+! PRIVATE extern int gdtoa__strtorf ANSI((CONST char*, char**, int, float*)); -+! PRIVATE extern int gdtoa__strtorQ ANSI((CONST char*, char**, int, void*)); -+! PRIVATE extern int gdtoa__strtorx ANSI((CONST char*, char**, int, void*)); -+! PRIVATE extern int gdtoa__strtorxL ANSI((CONST char*, char**, int, void*)); -+ #if 1 -+! PRIVATE extern int gdtoa__strtodI ANSI((CONST char*, char**, double*)); -+! PRIVATE extern int gdtoa__strtopd ANSI((CONST char*, char**, double*)); -+! PRIVATE extern int gdtoa__strtopdd ANSI((CONST char*, char**, double*)); -+! PRIVATE extern int gdtoa__strtopf ANSI((CONST char*, char**, float*)); -+! PRIVATE extern int gdtoa__strtopQ ANSI((CONST char*, char**, void*)); -+! PRIVATE extern int gdtoa__strtopx ANSI((CONST char*, char**, void*)); -+! PRIVATE extern int gdtoa__strtopxL ANSI((CONST char*, char**, void*)); -+ #else -+ #define gdtoa__strtopd(s,se,x) gdtoa__strtord(s,se,1,x) -+diff -P -C 2 -r gdtoa/gdtoaimp.h gdtoa-new/gdtoaimp.h -+*** gdtoa/gdtoaimp.h 2011-05-27 17:20:57.493026911 -0400 -+--- gdtoa-new/gdtoaimp.h 2011-05-27 17:21:21.004032383 -0400 -+*************** -+*** 504,508 **** -+ #define gethex gethex_D2A -+ #define hexdig hexdig_D2A -+! #define hexdig_init hexdig_init_D2A -+ #define hexnan hexnan_D2A -+ #define hi0bits(x) hi0bits_D2A((ULong)(x)) -+--- 504,509 ---- -+ #define gethex gethex_D2A -+ #define hexdig hexdig_D2A -+! /* work around MinGW bug */ -+! #define hexdig_init hexdig_init_D3A -+ #define hexnan hexnan_D2A -+ #define hi0bits(x) hi0bits_D2A((ULong)(x)) -Index: runtime/gc/copy-thread.c -=================================================================== ---- runtime/gc/copy-thread.c (revision 7524) -+++ runtime/gc/copy-thread.c (revision 7552) -@@ -1,4 +1,5 @@ --/* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh -+/* Copyright (C) 2011 Matthew Fluet. -+ * Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh - * Jagannathan, and Stephen Weeks. - * Copyright (C) 1997-2000 NEC Research Institute. - * -@@ -35,7 +36,7 @@ - GC_thread fromThread; - GC_stack fromStack; - GC_thread toThread; -- GC_stack toStack; -+ GC_stack __attribute__ ((unused)) toStack; +--- a/mlton/backend/ssa-to-rssa.fun ++++ b/mlton/backend/ssa-to-rssa.fun +@@ -599,12 +599,18 @@ + src = Operand.word (WordX.one cardElemSize)}] + end - if (DEBUG_THREADS) - fprintf (stderr, "GC_copyCurrentThread\n"); -@@ -57,7 +58,7 @@ - GC_thread fromThread; - GC_stack fromStack; - GC_thread toThread; -- GC_stack toStack; -+ GC_stack __attribute__ ((unused)) toStack; - - if (DEBUG_THREADS) - fprintf (stderr, "GC_copyThread ("FMTPTR")\n", (uintptr_t)p); -Index: runtime/gc/heap.c -=================================================================== ---- runtime/gc/heap.c (revision 7524) -+++ runtime/gc/heap.c (revision 7552) -@@ -1,4 +1,4 @@ --/* Copyright (C) 2009-2010 Matthew Fluet. -+/* Copyright (C) 2009-2011 Matthew Fluet. - * Copyright (C) 2005-2008 Henry Cejtin, Matthew Fluet, Suresh - * Jagannathan, and Stephen Weeks. - * -@@ -41,7 +41,7 @@ - size_t liveMapsSize, liveWithMapsSize; - size_t currentMapsSize, currentWithMapsSize; - size_t resSize, resWithMapsSize; -- size_t syslimSize, syslimMapsSize, syslimWithMapsSize; -+ size_t syslimSize, __attribute__ ((unused)) syslimMapsSize, syslimWithMapsSize; - double ratio; - - syslimWithMapsSize = alignDown (SIZE_MAX, s->sysvals.pageSize); -@@ -553,12 +553,11 @@ - */ - void resizeHeapSecondary (GC_state s) { - size_t primarySize, primaryWithMapsSize; -- size_t secondarySize, secondaryWithMapsSize; -+ size_t secondarySize; - - primarySize = s->heap.size; - primaryWithMapsSize = s->heap.withMapsSize; - secondarySize = s->secondaryHeap.size; -- secondaryWithMapsSize = s->secondaryHeap.withMapsSize; - if (DEBUG_RESIZING) - fprintf (stderr, "secondaryHeapResize\n"); - if (0 == secondarySize) -Index: runtime/gc/init-world.c -=================================================================== ---- runtime/gc/init-world.c (revision 7524) -+++ runtime/gc/init-world.c (revision 7552) -@@ -1,4 +1,5 @@ --/* Copyright (C) 1999-2008 Henry Cejtin, Matthew Fluet, Suresh -+/* Copyright (C) 2011 Matthew Fluet. -+ * Copyright (C) 1999-2008 Henry Cejtin, Matthew Fluet, Suresh - * Jagannathan, and Stephen Weeks. - * Copyright (C) 1997-2000 NEC Research Institute. - * -@@ -51,7 +52,7 @@ - size_t bytes; - bool neg; - __mpz_struct resmpz; -- int ans; -+ __attribute__ ((unused)) int ans; - - assert (isFrontierAligned (s, s->frontier)); - for (i = 0; i < s->intInfInitsLength; i++) { -Index: runtime/gc/profiling.c -=================================================================== ---- runtime/gc/profiling.c (revision 7524) -+++ runtime/gc/profiling.c (revision 7552) -@@ -1,4 +1,5 @@ --/* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh -+/* Copyright (C) 2011 Matthew Fluet. -+ * Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh - * Jagannathan, and Stephen Weeks. - * Copyright (C) 1997-2000 NEC Research Institute. - * -@@ -76,7 +77,6 @@ - - void enterForProfiling (GC_state s, GC_sourceSeqIndex sourceSeqIndex) { - uint32_t i; -- GC_profileData p; - GC_sourceIndex sourceIndex; - uint32_t *sourceSeq; - -@@ -84,7 +84,6 @@ - fprintf (stderr, "enterForProfiling ("FMTSSI")\n", sourceSeqIndex); - assert (s->profiling.stack); - assert (sourceSeqIndex < s->sourceMaps.sourceSeqsLength); -- p = s->profiling.data; - sourceSeq = s->sourceMaps.sourceSeqs[sourceSeqIndex]; - for (i = 1; i <= sourceSeq[0]; i++) { - sourceIndex = sourceSeq[i]; -@@ -123,10 +122,8 @@ - } - - void leaveSourceForProfiling (GC_state s, GC_profileMasterIndex i) { -- GC_profileData p; - GC_profileStack ps; - -- p = s->profiling.data; - ps = getProfileStackInfo (s, i); - assert (ps->numOccurrences > 0); - ps->numOccurrences--; -@@ -136,7 +133,6 @@ - - void leaveForProfiling (GC_state s, GC_sourceSeqIndex sourceSeqIndex) { - int32_t i; -- GC_profileData p; - GC_sourceIndex sourceIndex; - uint32_t *sourceSeq; - -@@ -144,7 +140,6 @@ - fprintf (stderr, "leaveForProfiling ("FMTSSI")\n", sourceSeqIndex); - assert (s->profiling.stack); - assert (sourceSeqIndex < s->sourceMaps.sourceSeqsLength); -- p = s->profiling.data; - sourceSeq = s->sourceMaps.sourceSeqs[sourceSeqIndex]; - for (i = sourceSeq[0]; i > 0; i--) { - sourceIndex = sourceSeq[i]; -Index: runtime/gc/invariant.c -=================================================================== ---- runtime/gc/invariant.c (revision 7524) -+++ runtime/gc/invariant.c (revision 7552) -@@ -1,4 +1,5 @@ --/* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh -+/* Copyright (C) 2011 Matthew Fluet. -+ * Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh - * Jagannathan, and Stephen Weeks. - * Copyright (C) 1997-2000 NEC Research Institute. - * -@@ -42,6 +43,8 @@ - - assert (layout->size <= s->maxFrameSize); - offsets = layout->offsets; -+ for (unsigned int j = 0; j < offsets[0]; ++j) -+ assert (offsets[j + 1] < layout->size); - } - } - /* Generational */ -Index: runtime/gdtoa-patch -=================================================================== ---- runtime/gdtoa-patch (revision 7524) -+++ runtime/gdtoa-patch (revision 7552) -@@ -1,918 +1,1119 @@ --diff -u gdtoa.orig/arithchk.c gdtoa/arithchk.c ----- gdtoa.orig/arithchk.c 1998-06-19 20:46:11 +0000 --+++ gdtoa/arithchk.c 2008-10-04 02:01:43 +0000 --@@ -136,7 +136,7 @@ -- return b == 0.; -- } -- ---main() --+int main() -- { -- Akind *a = 0; -- int Ldef = 0; --diff -u gdtoa.orig/dmisc.c gdtoa/dmisc.c ----- gdtoa.orig/dmisc.c 1998-11-02 19:34:31 +0000 --+++ gdtoa/dmisc.c 2008-10-04 02:01:43 +0000 --@@ -89,9 +89,9 @@ -- -- void -- #ifdef KR_headers ---freedtoa(s) char *s; --+gdtoa__freedtoa(s) char *s; -- #else ---freedtoa(char *s) --+gdtoa__freedtoa(char *s) -- #endif -- { -- Bigint *b = (Bigint *)((int *)s - 1); --diff -u gdtoa.orig/dtoa.c gdtoa/dtoa.c ----- gdtoa.orig/dtoa.c 2000-11-02 15:09:01 +0000 --+++ gdtoa/dtoa.c 2008-10-04 02:01:43 +0000 --@@ -80,7 +80,7 @@ -- #endif -- -- char * ---dtoa --+gdtoa__dtoa -- #ifdef KR_headers -- (d, mode, ndigits, decpt, sign, rve) -- double d; int mode, ndigits, *decpt, *sign; char **rve; --@@ -142,7 +142,7 @@ -- -- #ifndef MULTIPLE_THREADS -- if (dtoa_result) { --- freedtoa(dtoa_result); --+ gdtoa__freedtoa(dtoa_result); -- dtoa_result = 0; -- } -- #endif --diff -u gdtoa.orig/g_Qfmt.c gdtoa/g_Qfmt.c ----- gdtoa.orig/g_Qfmt.c 2000-11-01 15:21:10 +0000 --+++ gdtoa/g_Qfmt.c 2008-10-04 02:01:43 +0000 --@@ -57,9 +57,9 @@ -- -- char* -- #ifdef KR_headers ---g_Qfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; --+gdtoa__g_Qfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; -- #else ---g_Qfmt(char *buf, void *V, int ndig, unsigned bufsize) --+gdtoa__g_Qfmt(char *buf, void *V, int ndig, unsigned bufsize) -- #endif -- { -- static FPI fpi = { 113, 1-16383-113+1, 32766 - 16383 - 113 + 1, 1, 0 }; --@@ -115,6 +115,6 @@ -- return 0; -- mode = 0; -- } --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- return g__fmt(buf, s, se, decpt, sign); -- } --diff -u gdtoa.orig/g__fmt.c gdtoa/g__fmt.c ----- gdtoa.orig/g__fmt.c 2003-03-21 20:59:43 +0000 --+++ gdtoa/g__fmt.c 2008-10-04 02:01:43 +0000 --@@ -96,6 +96,6 @@ -- *b++ = '0'; -- *b = 0; -- } --- freedtoa(s0); --+ gdtoa__freedtoa(s0); -- return b; -+diff -P -C 2 -r gdtoa/dmisc.c gdtoa-new/dmisc.c -+*** gdtoa/dmisc.c 2004-04-11 23:39:50.000000000 -0400 -+--- gdtoa-new/dmisc.c 2011-05-27 17:09:13.940030010 -0400 -+*************** -+*** 84,90 **** -+ void -+ #ifdef KR_headers -+! freedtoa(s) char *s; -+ #else -+! freedtoa(char *s) -+ #endif -+ { -+--- 84,90 ---- -+ void -+ #ifdef KR_headers -+! gdtoa__freedtoa(s) char *s; -+ #else -+! gdtoa__freedtoa(char *s) -+ #endif -+ { -+diff -P -C 2 -r gdtoa/dtoa.c gdtoa-new/dtoa.c -+*** gdtoa/dtoa.c 2010-09-15 10:59:11.000000000 -0400 -+--- gdtoa-new/dtoa.c 2011-05-27 17:09:13.940030010 -0400 -+*************** -+*** 74,78 **** -+ -+ char * -+! dtoa -+ #ifdef KR_headers -+ (d0, mode, ndigits, decpt, sign, rve) -+--- 74,78 ---- -+ -+ char * -+! gdtoa__dtoa -+ #ifdef KR_headers -+ (d0, mode, ndigits, decpt, sign, rve) -+*************** -+*** 147,151 **** -+ #ifndef MULTIPLE_THREADS -+ if (dtoa_result) { -+! freedtoa(dtoa_result); -+ dtoa_result = 0; -+ } -+--- 147,151 ---- -+ #ifndef MULTIPLE_THREADS -+ if (dtoa_result) { -+! gdtoa__freedtoa(dtoa_result); -+ dtoa_result = 0; -+ } -+diff -P -C 2 -r gdtoa/g_ddfmt.c gdtoa-new/g_ddfmt.c -+*** gdtoa/g_ddfmt.c 2009-04-11 23:11:05.000000000 -0400 -+--- gdtoa-new/g_ddfmt.c 2011-05-27 17:09:13.940030010 -0400 -+*************** -+*** 34,40 **** -+ char * -+ #ifdef KR_headers -+! g_ddfmt(buf, dd0, ndig, bufsize) char *buf; double *dd0; int ndig; size_t bufsize; -+ #else -+! g_ddfmt(char *buf, double *dd0, int ndig, size_t bufsize) -+ #endif -+ { -+--- 34,40 ---- -+ char * -+ #ifdef KR_headers -+! gdtoa__g_ddfmt(buf, dd0, ndig, bufsize) char *buf; double *dd0; int ndig; size_t bufsize; -+ #else -+! gdtoa__g_ddfmt(char *buf, double *dd0, int ndig, size_t bufsize) -+ #endif -+ { -+*************** -+*** 164,168 **** -+ fpi.sudden_underflow = 0; -+ i = STRTOG_Normal; -+! s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -+ b = g__fmt(buf, s, se, decpt, z->sign, bufsize); -+ Bfree(z); -+--- 164,168 ---- -+ fpi.sudden_underflow = 0; -+ i = STRTOG_Normal; -+! s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -+ b = g__fmt(buf, s, se, decpt, z->sign, bufsize); -+ Bfree(z); -+diff -P -C 2 -r gdtoa/g_dfmt.c gdtoa-new/g_dfmt.c -+*** gdtoa/g_dfmt.c 2010-07-08 23:38:41.000000000 -0400 -+--- gdtoa-new/g_dfmt.c 2011-05-27 17:09:13.940030010 -0400 -+*************** -+*** 34,40 **** -+ char* -+ #ifdef KR_headers -+! g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; size_t bufsize; -+ #else -+! g_dfmt(char *buf, double *d, int ndig, size_t bufsize) -+ #endif -+ { -+--- 34,40 ---- -+ char* -+ #ifdef KR_headers -+! gdtoa__g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; size_t bufsize; -+ #else -+! gdtoa__g_dfmt(char *buf, double *d, int ndig, size_t bufsize) -+ #endif -+ { -+*************** -+*** 91,95 **** -+ if (sign) -+ i = STRTOG_Normal | STRTOG_Neg; -+! s = gdtoa(fpi, ex, bits, &i, mode, ndig, &decpt, &se); -+ return g__fmt(buf, s, se, decpt, sign, bufsize); - } --diff -u gdtoa.orig/g_ddfmt.c gdtoa/g_ddfmt.c ----- gdtoa.orig/g_ddfmt.c 1998-09-09 12:09:31 +0000 --+++ gdtoa/g_ddfmt.c 2008-10-04 02:01:43 +0000 --@@ -40,9 +40,9 @@ -- -- char * -- #ifdef KR_headers ---g_ddfmt(buf, dd, ndig, bufsize) char *buf; double *dd; int ndig; unsigned bufsize; --+gdtoa__g_ddfmt(buf, dd, ndig, bufsize) char *buf; double *dd; int ndig; unsigned bufsize; -- #else ---g_ddfmt(char *buf, double *dd, int ndig, unsigned bufsize) --+gdtoa__g_ddfmt(char *buf, double *dd, int ndig, unsigned bufsize) -- #endif -- { -- FPI fpi; --@@ -154,7 +154,7 @@ -- fpi.rounding = FPI_Round_near; -- fpi.sudden_underflow = 0; -- i = STRTOG_Normal; --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- b = g__fmt(buf, s, se, decpt, z->sign); -- Bfree(z); -- return b; --diff -u gdtoa.orig/g_dfmt.c gdtoa/g_dfmt.c ----- gdtoa.orig/g_dfmt.c 1998-09-09 14:18:15 +0000 --+++ gdtoa/g_dfmt.c 2008-10-04 02:01:43 +0000 --@@ -39,9 +39,9 @@ -- -- char* -- #ifdef KR_headers ---g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; unsigned bufsize; --+gdtoa__g_dfmt(buf, d, ndig, bufsize) char *buf; double *d; int ndig; unsigned bufsize; -- #else ---g_dfmt(char *buf, double *d, int ndig, unsigned bufsize) --+gdtoa__g_dfmt(char *buf, double *d, int ndig, unsigned bufsize) -- #endif -- { -- static FPI fpi = { 53, 1-1023-53+1, 2046-1023-53+1, 1, 0 }; --@@ -90,6 +90,6 @@ -- mode = 0; -- } -- i = STRTOG_Normal; --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- return g__fmt(buf, s, se, decpt, sign); -- } --diff -u gdtoa.orig/g_ffmt.c gdtoa/g_ffmt.c ----- gdtoa.orig/g_ffmt.c 1998-09-12 20:39:39 +0000 --+++ gdtoa/g_ffmt.c 2008-10-04 02:01:43 +0000 --@@ -39,9 +39,9 @@ -- -- char* -- #ifdef KR_headers ---g_ffmt(buf, f, ndig, bufsize) char *buf; float *f; int ndig; unsigned bufsize; --+gdtoa__g_ffmt(buf, f, ndig, bufsize) char *buf; float *f; int ndig; unsigned bufsize; -- #else ---g_ffmt(char *buf, float *f, int ndig, unsigned bufsize) --+gdtoa__g_ffmt(char *buf, float *f, int ndig, unsigned bufsize) -- #endif -- { -- static FPI fpi = { 24, 1-127-24+1, 254-127-24+1, 1, 0 }; --@@ -89,6 +89,6 @@ -- mode = 0; -- } -- i = STRTOG_Normal; --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- return g__fmt(buf, s, se, decpt, sign); -- } --diff -u gdtoa.orig/g_xLfmt.c gdtoa/g_xLfmt.c ----- gdtoa.orig/g_xLfmt.c 1998-09-09 16:35:43 +0000 --+++ gdtoa/g_xLfmt.c 2008-10-04 02:01:43 +0000 --@@ -55,9 +55,9 @@ -- -- char* -- #ifdef KR_headers ---g_xLfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; --+gdtoa__g_xLfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; -- #else ---g_xLfmt(char *buf, void *V, int ndig, unsigned bufsize) --+gdtoa__g_xLfmt(char *buf, void *V, int ndig, unsigned bufsize) -- #endif -- { -- static FPI fpi = { 64, 1-16383-64+1, 32766 - 16383 - 64 + 1, 1, 0 }; --@@ -109,6 +109,6 @@ -- return 0; -- mode = 0; -- } --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- return g__fmt(buf, s, se, decpt, sign); -- } --diff -u gdtoa.orig/g_xfmt.c gdtoa/g_xfmt.c ----- gdtoa.orig/g_xfmt.c 1998-09-09 13:59:17 +0000 --+++ gdtoa/g_xfmt.c 2008-10-04 02:01:43 +0000 --@@ -59,9 +59,9 @@ -- -- char* -- #ifdef KR_headers ---g_xfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; --+gdtoa__g_xfmt(buf, V, ndig, bufsize) char *buf; char *V; int ndig; unsigned bufsize; -- #else ---g_xfmt(char *buf, void *V, int ndig, unsigned bufsize) --+gdtoa__g_xfmt(char *buf, void *V, int ndig, unsigned bufsize) -- #endif -- { -- static FPI fpi = { 64, 1-16383-64+1, 32766 - 16383 - 64 + 1, 1, 0 }; --@@ -114,6 +114,6 @@ -- return 0; -- mode = 0; -- } --- s = gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); --+ s = gdtoa__gdtoa(&fpi, ex, bits, &i, mode, ndig, &decpt, &se); -- return g__fmt(buf, s, se, decpt, sign); -- } --Only in gdtoa: gdtoa --diff -u gdtoa.orig/gdtoa.c gdtoa/gdtoa.c ----- gdtoa.orig/gdtoa.c 1999-09-21 04:22:19 +0000 --+++ gdtoa/gdtoa.c 2008-10-04 02:01:43 +0000 --@@ -115,7 +115,7 @@ -- */ -- -- char * ---gdtoa --+gdtoa__gdtoa -- #ifdef KR_headers -- (fpi, be, bits, kindp, mode, ndigits, decpt, rve) -- FPI *fpi; int be; ULong *bits; --@@ -168,7 +168,7 @@ -- -- #ifndef MULTIPLE_THREADS -- if (dtoa_result) { --- freedtoa(dtoa_result); --+ gdtoa__freedtoa(dtoa_result); -- dtoa_result = 0; -- } -- #endif --diff -u gdtoa.orig/gdtoa.h gdtoa/gdtoa.h ----- gdtoa.orig/gdtoa.h 2000-11-01 15:01:39 +0000 --+++ gdtoa/gdtoa.h 2008-10-04 02:01:43 +0000 --@@ -108,49 +108,49 @@ -- extern "C" { -- #endif -- ---extern char* dtoa ANSI((double d, int mode, int ndigits, int *decpt, --+extern char* gdtoa__dtoa ANSI((double d, int mode, int ndigits, int *decpt, -- int *sign, char **rve)); ---extern char* gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, --+extern char* gdtoa__gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, -- int mode, int ndigits, int *decpt, char **rve)); ---extern void freedtoa ANSI((char*)); ---extern float strtof ANSI((CONST char *, char **)); ---extern double strtod ANSI((CONST char *, char **)); ---extern int strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); --+extern void gdtoa__freedtoa ANSI((char*)); --+extern float gdtoa__strtof ANSI((CONST char *, char **)); --+extern double gdtoa__strtod ANSI((CONST char *, char **)); --+extern int gdtoa__strtodg ANSI((CONST char*, char**, FPI*, Long*, ULong*)); -- ---extern char* g_ddfmt ANSI((char*, double*, int, unsigned)); ---extern char* g_dfmt ANSI((char*, double*, int, unsigned)); ---extern char* g_ffmt ANSI((char*, float*, int, unsigned)); ---extern char* g_Qfmt ANSI((char*, void*, int, unsigned)); ---extern char* g_xfmt ANSI((char*, void*, int, unsigned)); ---extern char* g_xLfmt ANSI((char*, void*, int, unsigned)); --+extern char* gdtoa__g_ddfmt ANSI((char*, double*, int, unsigned)); --+extern char* gdtoa__g_dfmt ANSI((char*, double*, int, unsigned)); --+extern char* gdtoa__g_ffmt ANSI((char*, float*, int, unsigned)); --+extern char* gdtoa__g_Qfmt ANSI((char*, void*, int, unsigned)); --+extern char* gdtoa__g_xfmt ANSI((char*, void*, int, unsigned)); --+extern char* gdtoa__g_xLfmt ANSI((char*, void*, int, unsigned)); -- ---extern int strtoId ANSI((CONST char*, char**, double*, double*)); ---extern int strtoIdd ANSI((CONST char*, char**, double*, double*)); ---extern int strtoIf ANSI((CONST char*, char**, float*, float*)); ---extern int strtoIQ ANSI((CONST char*, char**, void*, void*)); ---extern int strtoIx ANSI((CONST char*, char**, void*, void*)); ---extern int strtoIxL ANSI((CONST char*, char**, void*, void*)); ---extern int strtord ANSI((CONST char*, char**, int, double*)); ---extern int strtordd ANSI((CONST char*, char**, int, double*)); ---extern int strtorf ANSI((CONST char*, char**, int, float*)); ---extern int strtorQ ANSI((CONST char*, char**, int, void*)); ---extern int strtorx ANSI((CONST char*, char**, int, void*)); ---extern int strtorxL ANSI((CONST char*, char**, int, void*)); --+extern int gdtoa__strtoId ANSI((CONST char*, char**, double*, double*)); --+extern int gdtoa__strtoIdd ANSI((CONST char*, char**, double*, double*)); --+extern int gdtoa__strtoIf ANSI((CONST char*, char**, float*, float*)); --+extern int gdtoa__strtoIQ ANSI((CONST char*, char**, void*, void*)); --+extern int gdtoa__strtoIx ANSI((CONST char*, char**, void*, void*)); --+extern int gdtoa__strtoIxL ANSI((CONST char*, char**, void*, void*)); --+extern int gdtoa__strtord ANSI((CONST char*, char**, int, double*)); --+extern int gdtoa__strtordd ANSI((CONST char*, char**, int, double*)); --+extern int gdtoa__strtorf ANSI((CONST char*, char**, int, float*)); --+extern int gdtoa__strtorQ ANSI((CONST char*, char**, int, void*)); --+extern int gdtoa__strtorx ANSI((CONST char*, char**, int, void*)); --+extern int gdtoa__strtorxL ANSI((CONST char*, char**, int, void*)); -- #if 1 ---extern int strtodI ANSI((CONST char*, char**, double*)); ---extern int strtopd ANSI((CONST char*, char**, double*)); ---extern int strtopdd ANSI((CONST char*, char**, double*)); ---extern int strtopf ANSI((CONST char*, char**, float*)); ---extern int strtopQ ANSI((CONST char*, char**, void*)); ---extern int strtopx ANSI((CONST char*, char**, void*)); ---extern int strtopxL ANSI((CONST char*, char**, void*)); --+extern int gdtoa__strtodI ANSI((CONST char*, char**, double*)); --+extern int gdtoa__strtopd ANSI((CONST char*, char**, double*)); --+extern int gdtoa__strtopdd ANSI((CONST char*, char**, double*)); --+extern int gdtoa__strtopf ANSI((CONST char*, char**, float*)); --+extern int gdtoa__strtopQ ANSI((CONST char*, char**, void*)); --+extern int gdtoa__strtopx ANSI((CONST char*, char**, void*)); --+extern int gdtoa__strtopxL ANSI((CONST char*, char**, void*)); -- #else ---#define strtopd(s,se,x) strtord(s,se,1,x) ---#define strtopdd(s,se,x) strtordd(s,se,1,x) ---#define strtopf(s,se,x) strtorf(s,se,1,x) ---#define strtopQ(s,se,x) strtorQ(s,se,1,x) ---#define strtopx(s,se,x) strtorx(s,se,1,x) ---#define strtopxL(s,se,x) strtorxL(s,se,1,x) --+#define gdtoa__strtopd(s,se,x) gdtoa__strtord(s,se,1,x) --+#define gdtoa__strtopdd(s,se,x) gdtoa__strtordd(s,se,1,x) --+#define gdtoa__strtopf(s,se,x) gdtoa__strtorf(s,se,1,x) --+#define gdtoa__strtopQ(s,se,x) gdtoa__strtorQ(s,se,1,x) --+#define gdtoa__strtopx(s,se,x) gdtoa__strtorx(s,se,1,x) --+#define gdtoa__strtopxL(s,se,x) gdtoa__strtorxL(s,se,1,x) -- #endif -- -- #ifdef __cplusplus --diff -u gdtoa.orig/gdtoaimp.h gdtoa/gdtoaimp.h ----- gdtoa.orig/gdtoaimp.h 2000-11-02 15:09:01 +0000 --+++ gdtoa/gdtoaimp.h 2008-10-04 02:24:16 +0000 --@@ -267,7 +267,7 @@ -- Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined. -- #endif -- ---typedef union { double d; ULong L[2]; } U; --+typedef union { double d; ULong L[2]; } __attribute__((__may_alias__)) U; -- -- #ifdef YES_ALIAS -- #define dval(x) x --@@ -502,6 +502,7 @@ -- #define g__fmt g__fmt_D2A -- #define gethex gethex_D2A -- #define hexdig hexdig_D2A --+#define hexdig_init hexdig_init_D2A -- #define hexnan hexnan_D2A -- #define hi0bits hi0bits_D2A -- #define i2b i2b_D2A --@@ -551,7 +552,7 @@ -- int *decpt, int *sign, char **rve)); -- extern char *g__fmt ANSI((char*, char*, char*, int, ULong)); -- extern int gethex ANSI((CONST char**, FPI*, Long*, Bigint**... [truncated message content] |