Patch-ID# 101503-04 Keywords:intrinsic lrshft sra antilog jzext izext performance speed Synopsis: SPARCompiler Fortran 3.0: Jumbo patch Date: Jan/03/95 Solaris Release: 2.X SunOS release: 5.X Unbundled Product: SPARCompiler Fortran Unbundled Release: 3.0 Topic: Fix for lrshft bug. Fixes for 10.0D0**X and 2.0D0**X; also JZEXT and IZEXT with constant arguments. Fixes for backspace problems and structure assignment problems and loc problems. This patch fixes the "compile speed" aspect of bug #1162290. BugId's fixed with this patch: 1159743 1162290 1164639 1165584 1169129 1169908 1171015 1172259 Changes incorporated in this version: 1162290 1164639 1165584 1169129 1169908 1171015 1172259 Relevant Architectures: sparc NOTE: ('arch -k' values if kernel specific) Other patches which conflict with this patch: This patch obsoleted by: Files included with this patch: f77pass1, libF77.a, libF77.so.2, libF77_mt.a libF77_mt.so.2, libF77_mt_p.a, libF77_p.a, libM77.a, libM77.so.2, libM77_p.a, cg,iropt Problem Description: (101503-01) f77pass1 compiles too slowly, especially in the presence of -C. (bug id 1162290) (101503-02) Backspace, when executed between a write and a read, can truncate the file, causing an error on read. Structure assignment, when done between sufficiently complicated objects (arrays of structures inside of structures) assigns the wrong object. loc() does not always work as expected (101503-03) 10.0D0**X and 2.0D0**X call special code rather than the generic exponentiation routines; the type of the special code was incorrectly specified, resulting in wrong answers. JZEXT and IZEXT couldn't handle some constant arguments. (101503-04) The f77 compiler generated incorrect code for lrshft intrinsic function. In the following example, an arithmetic shift was generated, instead of a correct logical shift. integer h, i h = -1 i = lrshft(h, 31) write (6, *) i stop end Other patches included with this patch: Patch id binaries Synopsis ======== ======== ======== 101503-03 f77pass1 JZEXT and IZEXT fail with constant arguments; 10.0D0**X and 2.0D0**X give wrong answers for REAL 101503-02 f77 libs fixes for backspace, structure assignment and loc() 101503-01 f77pass1 F77 compiles too slowly 101505-02 cg, iropt iropt core dumps sometimes when -parallel is used 101505-01 cg, iropt compilation problems with huge programs Patch Installation Instructions: -------------------------------- Generic 'installpatch' and 'backoutpatch' scripts are provided within each patch package with instructions added in this section. Other specific or unique installation instructions may also be necessary and should be described below. Special Install Instructions: ----------------------------- None.