Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
fully updated to the latests Decimal Specification (v1.66) and the
latests test cases (v2.56).

Thanks to Mark Dickinson for all his help during this process.
diff --git a/Lib/test/decimaltestdata/clamp.decTest b/Lib/test/decimaltestdata/clamp.decTest
index 722971a..eca0cfb 100644
--- a/Lib/test/decimaltestdata/clamp.decTest
+++ b/Lib/test/decimaltestdata/clamp.decTest
@@ -1,6 +1,6 @@
 ------------------------------------------------------------------------
 -- clamp.decTest -- clamped exponent tests (format-independent)       --
--- Copyright (c) IBM Corporation, 2000, 2003.  All rights reserved.   --
+-- Copyright (c) IBM Corporation, 2000, 2007.  All rights reserved.   --
 ------------------------------------------------------------------------
 -- Please see the document "General Decimal Arithmetic Testcases"     --
 -- at http://www2.hursley.ibm.com/decimal for the description of      --
@@ -17,7 +17,7 @@
 --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
 --   mfc@uk.ibm.com                                                   --
 ------------------------------------------------------------------------
-version: 2.39
+version: 2.56
 
 -- This set of tests uses the same limits as the 8-byte concrete
 -- representation, but applies clamping without using format-specific
@@ -73,10 +73,10 @@
 clam093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
 clam094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
 clam095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
-clam096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
-clam097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
-clam098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
-clam099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded
+clam096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded Clamped
 
 -- Same again, negatives
 -- Nmax and similar
@@ -112,10 +112,10 @@
 clam193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
 clam194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
 clam195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
-clam196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
-clam197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
-clam198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
-clam199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded
+clam196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded Clamped
+clam199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded Clamped
 
 -- zeros
 clam401 apply   0E-500                  -> 0E-398  Clamped
@@ -184,6 +184,20 @@
 clam671 apply   9E+369                  -> 9E+369
 clam673 apply   9E+368                  -> 9E+368
 
+-- subnormals clamped to 0-Etiny
+precision:   16
+maxExponent: 384
+minExponent: -383
+clam681 apply 7E-398     -> 7E-398 Subnormal
+clam682 apply 0E-398     -> 0E-398
+clam683 apply 7E-399     -> 1E-398 Subnormal Underflow Inexact Rounded
+clam684 apply 4E-399     -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
+clam685 apply 7E-400     -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
+clam686 apply 7E-401     -> 0E-398 Clamped Subnormal Underflow Inexact Rounded
+clam687 apply 0E-399     -> 0E-398 Clamped
+clam688 apply 0E-400     -> 0E-398 Clamped
+clam689 apply 0E-401     -> 0E-398 Clamped
+
 -- example from documentation
 precision:   7
 rounding:    half_even