From 31f930330de174e28e940d8134735a756b2dc4a9 Mon Sep 17 00:00:00 2001 From: Beman Date: Fri, 14 Nov 2014 09:52:44 -0500 Subject: [PATCH] Refine "Choosing between endian types and endian conversion functions" docs. --- doc/index.html | 39 ++++++++++++++++++++++++++++--------- doc/mini_review_topics.html | 3 ++- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/doc/index.html b/doc/index.html index 238d982..a88cbb4 100644 --- a/doc/index.html +++ b/doc/index.html @@ -163,42 +163,63 @@ application needs.

+

Warning: Endian conversion functions are dangerous unless the current +endianness of a variable is always known. For example, if an exception is thrown +and there is no way in a catch block to know a variable's current endianness, +then any use of that variable including I/O is inherently unsafe. This danger is +not limited to exceptions; all uses of a variable whose endianness is unknown +are unsafe, period.

+

Built-in support for Intrinsics

Recent compilers, including GCC, Clang, and Microsoft, supply built-in support for byte swapping intrinsics. Such support is automatically detected and diff --git a/doc/mini_review_topics.html b/doc/mini_review_topics.html index ca07cc0..1409e76 100644 --- a/doc/mini_review_topics.html +++ b/doc/mini_review_topics.html @@ -29,7 +29,8 @@ integer/float type and endian conversion approaches to the common use case scenarios, and provide guidelines for choosing the most appropriate approach in user's applications.

-

 

+

Done. See Choosing between endian types and + endian conversion functions.

Conversion functions supplying results via return should be provided.