Submitter: J11
Submission Date: 2006-07-18
Source: Fred J. Tydeman
Reference Document: N1183
Version: 1.1
Date: 2007-03-06
Subject:Externally visible exceptional conditions.
Summary
C99 7.12.1 Treatment of error conditions paragraph 1 has: Each function shall execute as if it were a single operation without generating any externally visible exceptional conditions.
As written, I believe that means that errno
cannot be altered by any math function, nor can any of the
floating-point exceptions mentioned later in 7.12.1 ("invalid",
"divide-by-zero", "overflow", "underflow") be raised by any
math function.
That was not our intent.
Seems to me that there are two problems with that text in 7.12.1:
Suggested Technical Corrigendum
Proposed Technical Corrigendum
Change 7.21.1 paragraph 1 last sentence to:
Each function shall execute as if it were a single operation without generating any spurious externally visible exceptions conditions.