ICU-6332 Updated the readme to reflect the enhancement.

X-SVN-Rev: 26574
This commit is contained in:
John Vu 2009-08-28 20:52:50 +00:00
parent d22b1f602e
commit 0fd738a371

View file

@ -209,49 +209,36 @@
download page</a>.</p>
<!-- The following is in regards of Ticket #6894 done by John Huan Vu -->
<h3><a name="LinuxICCValueSafeOptimization">Linux/ICC (Intel C++ Compiler) value-safe optimization on floating-point data</a></h3>
<p>
To ensure that the behavior of the Linux/ICC compiler are consistent with other compilers and other platforms, the flag <code>-fp-model precise</code> is added to the file <code>runConfigureICU</code>. According to the <a href="http://www.intel.com/software/products/compilers/docs/clin/main_cls/whnjs.htm">Intel C++ Compiler User and Reference Guides</a>, the flag enables value-safe optimizations on floating-point data. In contrast, the default value of the <code>-fp-model</code> option is <code>-fp-model fast=1</code> which enables a more aggressive optimizations on floating-point data. This is particularly important when all of the bits of a <code>float</code> or a <code>double</code> value are used for ICU.
</p>
<p>This new functionality fixes <a href="http://bugs.icu-project.org/trac/ticket/6894">Ticket #6894</a>.</p>
<!--
<h3>Cross compilation and 64-bit support</h3>
<p>ICU may now be cross compiled, see <a href="#HowToCrossCompileICU">How To Cross Compile ICU</a>.</p>
<p>The --enable-64bit-libs and --disable-64bit-libs options are now deprecated. By default, ICU will build binaries using the compiler's default setting. To request 32 or 64 bit libraries, use --with-library-bits=32 or --with-library-bits=64. For the old behavior, of attempting 64 bit libraries if possible, use --with-library-bits=64else32. Intltest now reports the bit width that ICU is currently running under.</p>
<!--
<h3>u_strToUTF32() and u_strFromUTF32() validate input UTF strings</h3>
<!-- The following is in regards of Ticket #6332 done by John Huan Vu -->
<h3>Static and shared libraries share the same name in the UNIX environment</h3>
<p>
Before ICU 4.2, the ustring.h functions u_strToUTF32() and u_strFromUTF32()
were not fully validating their input strings.
In particular, u_strToUTF32() passed unpaired surrogates through as
surrogate code points, and u_strFromUTF32() accepted surrogate code points
and passed them through as unpaired surrogates
(which may by chance end up in a pair,
indistinguishable from a supplementary code point).
This is inconsistent with the function names,
with the use of "UTF-16" and "UTF-32" in the documentation,
and with their sibling UTF-8 functions which do validate fully.
Previously, static libraries in a UNIX environment would have an 's' in front of their names (i.e. libsicu*.a versus libicu*.so). However, it has been known customary within a UNIX environment to have the static and shared libaries with the same name (i.e. libicu*.a with libicu*.so). This causes problems to some users because they would have to know of this change of library names when producing a fully static executable. Given this, an enhancement is made that whenever the flag <code>--enable-static</code> is given, the static and shared libraries will now have the same name.
</p>
<p>
ICU 4.2 changes the u_strToUTF32() and u_strFromUTF32() implementations
to treat malformed UTF input as an error.
The API documentation has been clarified.
</p>
<p>
Background: The implementation of these functions predates
Unicode's tightening of the UTF specifications.
We adapted the UTF-8 ustring.h functions and the ucnv_ converter functions
but not these UTF-32 ustring.h functions.
See the Unicode Standard chapter 3
<a href="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#G7404">section 3.9 Unicode Encoding Forms</a>
for details, in particular definitions D79 Unicode encoding form
and D80 Unicode string.
</p>
-->
<p>The following platforms are affected by this change:</p>
<ul>
<li>Debian Linux 5.0.2 PPC using GCC</li>
<li>HP/UX 11iv3 (ia64, 64-bit), aCC A.06.15</li>
<li>HP/UX 11i (hppa, 64-bit), aCC A.03.85</li>
<li>MacOSX 10.5 Leopard (x86, 64-bit), gcc 4.0.1</li>
<li>MacOSX 10.5 Leopard (x86, 32-bit), gcc 4.0.1</li>
<li>Solaris 9, Sun Studio 12</li>
<li>Solaris 10 (sparc, 64-bit), gcc 4.2.1</li>
<li>Solaris 10 (sparc, 64-bit), Sun Studio 12</li>
<li>Red Hat Enterprise Linux 4.2 (x86, 32-bit), gcc 3.4.6</li>
<li>Red Hat Enterprise Linux 4u7 (x86, 32-bit), gcc 4.2.4</li>
<li>Red Hat Enterprise Linux 5 (x86, 32-bit), icc 11.0</li>
<li>Red Hat Enterprise Linux 5 (x86, 32-bit), gcc 4.1.2</li>
<li>Red Hat Enterprise Linux 5 (x86, 64-bit), gcc 4.1.2</li>
<li>SuSe Linux 7.2 (x86, 32-bit), icc 9.0</li>
<li>SuSE 10 (x86, 64-bit), gcc 4.1.0</li>
</ul>
<p>This new enhancement refers to <a href="http://bugs.icu-project.org/trac/ticket/6332">Ticket #6332</a>.</p>
<h2><a name="Download" href="#Download" id="Download">How To Download the
Source Code</a></h2>