Paul Schlie <[EMAIL PROTECTED]> writes:

| Upon attempted careful reading of the standard's excerpts quoted by
| Gabriel Dos Reis per <http://gcc.gnu.org/ml/gcc/2006-12/msg00763.html>,
| it's not clear that GCC's current presumption of LIA-1 overflow semantics
| in absents of their true support is actually advocated by the standard.
| 
| As by my read, it seems fairly clear that "If an implementation adds
| support for the LIA-1 exception values ... then those types are LIA-1
| conformant types"; implies to me an intent that LIA-1 semantics may be
| legitimately presumed "if" the semantics are "supported" by a target
| implementation (just as null pointer optimizations should not be
| considered legitimate if not correspondingly literally supported by
| a given target).

Note, however, that LIA-1 conformance -- just like IEEE-754
conformance -- is more than just wrapping semantics.

Interestingly, GCC/g++ advertises wrapping semantics for the following
types 

   * char
   * signed char
   * unsigned char
   * wchar_t
   * short
   * unsigned short
   * int
   * unsigned int
   * long
   * unsigned long
   * long long
   * unsigned long long

this ad is brought to you by std::numeric_limits<T>::is_modulo.

-- Gaby

Reply via email to