]> Savannah Git Hosting - gnulib.git/commitdiff
doc: move exotic platfroms to Target Platforms
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Dec 2020 21:10:28 +0000 (13:10 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Dec 2020 22:53:23 +0000 (14:53 -0800)
* doc/gnulib-intro.texi (Supported Platforms)
(Formerly Supported Platforms, Unsupported Platforms):
New subsections, split off from Target Platforms.
(Unsupported Platforms): Move the exotic-platform stuff here ...
* doc/gnulib-readme.texi (Exotic platforms): ... from this removed
section.

ChangeLog
doc/gnulib-intro.texi
doc/gnulib-readme.texi

index 0bc0a23c18b5aaee07a4e48610f11b376e451b45..8db9975f55f7f2d9cf0b6dde096887cc6c46e216 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
 
+       doc: move exotic platfroms to Target Platforms
+       * doc/gnulib-intro.texi (Supported Platforms)
+       (Formerly Supported Platforms, Unsupported Platforms):
+       New subsections, split off from Target Platforms.
+       (Unsupported Platforms): Move the exotic-platform stuff here ...
+       * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
+       section.
+
        doc: mention intptr_t etc. and IBM i
        * doc/gnulib-readme.texi (Other portability assumptions):
        Mention intptr_t and uintptr_t, and that arithmetic on them
index aaae5b93153cc56dd278209a5f44bf5f6db8713e..5890223fad591b6364baf26b879a2fc95a5489c9 100644 (file)
@@ -104,7 +104,16 @@ we fix bugs when they are reported.  Except that some rarely tested
 platforms are also low priority; bug fixes for these platforms can
 take longer.
 
-As of 2019, the list of supported platforms is the following:
+@menu
+* Supported Platforms::
+* Formerly Supported Platforms::
+* Unsupported Platforms::
+@end menu
+
+@node Supported Platforms
+@subsection Supported Platforms
+
+As of 2020, the list of supported platforms is the following:
 
 @itemize
 @item
@@ -166,6 +175,9 @@ uClibc on Linux is no longer tested.
 QNX is no longer tested.
 @end itemize
 
+@node Formerly Supported Platforms
+@subsection Formerly Supported Platforms
+
 The following platforms were supported in the past, but are no longer
 supported:
 @itemize
@@ -200,6 +212,56 @@ Similarly, running native Windows binaries on GNU/Linux under WINE is
 rarely tested and low priority: WINE has a set of behaviours and bugs that
 is slightly different from native Windows.
 
+@node Unsupported Platforms
+@subsection Unsupported Platforms
+
+@cindex integer arithmetic portability
+@cindex portability, integer arithmetic
+
+Some platforms with C compilers are not supported by Gnulib because
+the platforms violate Gnulib's C portability assumptions.  @xref{Other
+portability assumptions}.
+
+These assumptions are not required by the C or POSIX standards but
+hold on almost all practical porting targets.  If you need to port
+Gnulib code to a platform where these assumptions are not true, we
+would appreciate hearing of any fixes.  We need fixes that do not
+increase runtime overhead on standard hosts and that are relatively
+easy to maintain.
+
+These platforms are listed below to illustrate problems that Gnulib
+and Gnulib-using code would have if it were intended to be portable to
+all practical POSIX or C platforms.
+
+@itemize @bullet
+@item
+The IBM i's pointers are 128 bits wide and it lacks the two types
+@code{intptr_t} and @code{uintptr_t}, which are optional in the C and
+POSIX standards.  However, these two types are required for the XSI
+extension to POSIX, and many Gnulib modules use them.  To work around
+this compatibility problem, Gnulib-using applications can be run on
+the IBM i's PASE emulation environment.  The IBM i's architecture
+descends from the System/38 (1978).
+
+@item
+The Unisys ClearPath Dorado's machine word is 36 bits.  Its signed
+integers use a ones'-complement representation.  On these machines,
+@code{CHAR_BIT == 9} and @code{INT_MIN == -INT_MAX}.  By default
+@code{UINT_MAX} is @math{2^{36} - 2}, which does not conform to the C
+requirement that it be one less than a power of two.  Although
+compiler options can raise @code{UINT_MAX} to be @math{2^{36} - 1},
+this can break system code that uses @math{-0} as a flag value.
+This platform's architecture descends from the UNIVAC 1107 (1962).
+
+@item
+The Unisys ClearPath Libra's machine word is 48 bits.  Its
+@code{unsigned int} uses the low-order 40 bits of the word, and
+@code{int} uses the low-order 41 bits of the word with a
+signed-magnitude representation.  On these machines, @code{INT_MAX ==
+UINT_MAX}, @code{INT_MIN == -INT_MAX}, and @code{sizeof (int) == 6}.
+This platform's architecture descends from the Burroughs B5000 (1961).
+@end itemize
+
 The following platforms are not supported by Gnulib.  The cost of
 supporting them would exceed the benefit because they are rarely used, or
 poorly documented, or have been supplanted by other platforms, or diverge
index 28065d59223c9a7ab19ce0122d3c06d12e92d9b3..4775fa89a3d4984a8dd2d9b00164802178aee664 100644 (file)
@@ -308,7 +308,6 @@ general Gnulib portability guidelines.
 * C99 features assumed::
 * C99 features avoided::
 * Other portability assumptions::
-* Exotic platforms::
 @end menu
 
 @node C language versions
@@ -517,53 +516,8 @@ For example, @code{0 + (char *) NULL == (char *) NULL}.
 @end itemize
 @end itemize
 
-@node Exotic platforms
-@subsection Exotic platforms
-
-@cindex integer arithmetic portability
-@cindex portability, integer arithmetic
-
-Gnulib's portability assumptions are not required by the C or POSIX
-standards but hold on almost all practical porting targets.  If you
-need to port Gnulib code to a platform where these assumptions are not
-true, we would appreciate hearing of any fixes.  We need fixes that do
-not increase runtime overhead on standard hosts and that are
-relatively easy to maintain.
-
-A few practical platforms violate the @code{intprops} assumptions
-and are therefore not porting targets for Gnulib.  Three are listed
-below to illustrate problems that Gnulib and Gnulib-using code would
-have if it were intended to be portable to all practical POSIX or C
-platforms.
-
-@itemize @bullet
-@item
-The IBM i's pointers are 128 bits wide and it lacks the two types
-@code{intptr_t} and @code{uintptr_t}, which are optional in the C and
-POSIX standards.  However, these two types are required for the XSI
-extension to POSIX, and many Gnulib modules use them.  To work around
-this compatibility problem, Gnulib-using applications can be run on
-the IBM i's PASE emulation environment.  The IBM i's architecture
-descends from the System/38 (1978).
-
-@item
-The Unisys ClearPath Libra's machine word is 48 bits.  Its
-@code{unsigned int} uses the low-order 40 bits of the word, and
-@code{int} uses the low-order 41 bits of the word with a
-signed-magnitude representation.  On these machines, @code{INT_MAX ==
-UINT_MAX}, @code{INT_MIN == -INT_MAX}, and @code{sizeof (int) == 6}.
-This platform's architecture descends from the Burroughs B5000 (1961).
-
-@item
-The Unisys ClearPath Dorado's machine word is 36 bits.  Its signed
-integers use a ones'-complement representation.  On these machines,
-@code{CHAR_BIT == 9} and @code{INT_MIN == -INT_MAX}.  By default
-@code{UINT_MAX} is @math{2^{36} - 2}, which does not conform to the C
-requirement that it be one less than a power of two.  Although
-compiler options can raise @code{UINT_MAX} to be @math{2^{36} - 1},
-this can break system code that uses @math{-0} as a flag value.
-This platform's architecture descends from the UNIVAC 1107 (1962).
-@end itemize
+Some system platforms violate these assumptions and are therefore not
+Gnulib porting targets.  @xref{Unsupported Platforms}.
 
 @node High Quality
 @section High Quality