------- Comment #10 from burnus at gcc dot gnu dot org 2010-03-17 20:16 ------- (In reply to comment #9) > (In reply to comment #8) > > Maybe we just need to document that -pedantic changes the range of integers > > to > > be what the Fortran standard requires (a symmetric range). > > The Fortran Standard requires neither a symmetric nor asymmetric > range.
Well, the number model is symmetric. See Fortran 2003 (http://www.j3-fortran.org/doc/year/04/04-007.pdf): "13.4 Numeric models" [...] "The model set for integer i is defined by i = s * sum_{k=0}^{q-1} w_k * r^k where r is an integer exceeding one, q is a positive integer, each wk is a nonnegative integer less than r, and s is +1 or −1." > It simply requires that a program(mer) cannot invoke an > intrinsic procedure that will return an out-of-range value. That can be found in "13.7 Specifications of the standard intrinsic procedures": "A program is prohibited from invoking an intrinsic procedure under cir10 cumstances where a value to be returned in a subroutine argument or function result is outside the range of values representable by objects of the specified type and type parameters, unless the intrinsic module IEEE ARITHMETIC (section 14) is accessible and there is support for an infinite or a NaN result, as appropriate." -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43310