home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIS Development Option 6.2
/
IRIS_Development_Option_6.2_814-0478-001.iso
/
relnotes
/
c_dev
/
ch5.z
/
ch5
Wrap
Text File
|
1996-03-14
|
5KB
|
198 lines
- 1 -
6.2 ANSI C Release Notes
- 2 -
DDDDooooccccuuuummmmeeeennnntttt NNNNuuuummmmbbbbeeeerrrr 000000007777----1111666655559999----000011110000
5. _B_u_g__F_i_x_e_s
This chapter briefly describes the bugs that
have been fixed in the 32-bit compiler since
release 3.19, and the 64-bit compiler since
release 6.1. Some of the headings are followed
by a Silicon Graphics incident report number.
+o The C Preprocessor did not interpret 0Xnn
as a hex value. This has been fixed. (Bug
ID 250863)
+o The 32-bit optimizer would produce
incorrect code for the following test case:
void Fail_FmtAssertion ( const char *fmt, ... )
{
return;
}
static int idx0 = -1;
static int tbl[1][8][8];
static void * ptr_array[1];
void
test(void)
{
int idx1;
int idx2;
(idx0 < 0? (void) 1 : Fail_FmtAssertion("Invalid idx in test()"));
idx0++;
ptr_array[idx0] = 0;
/* Reset the lookup table for scalar pregs */
for (idx1 = 0; idx1 < 8; idx1++)
for (idx2 = 0; idx2 < 8; idx2++)
tbl[idx0][idx1][idx2] = 0;
}
main()
{
test();
}
This has been fixed. (Bug ID 252987)
- 3 -
+o The 32-bit code generator, ugen, would
under certain circumstances produce an
assertion failure when compiling at
optimization level -O3. This has been
fixed. (Bug ID 256377)
+o The file, concat.c, from gdb4.14 libiberty
was being optimized incorrectly at -O -32.
This has been fixed. (Bug ID 268857)
+o The 3.19 release of the C compiler had a
performance regression which would result
in extra shift and add instructions being
emitted in a loop. This was fixed in patch
449 and carried over in subsequent
releases. (Bug ID 269115)
+o The 3.19 release of the C compiler would
under certain circumstances produce
incorrect code which would cause the result
register ($r3) to be overwritten. This has
been fixed. (Bug ID 269392)
+o Miscellaneous segmentation violations would
occur in the 32-bit C front-end, cfe. This
has been fixed. (Bug ID 276339, 286673)
+o The cc68 program, when built using 6.1
yacc, would fail. The first indication of
trouble is that 6.1 yacc reported 6
shift/reduce conflicts on
gfx/common/tools/cc68/ccom/cgram.y, whereas
5.3 yacc reports 7, the "expected" number.
This has been fixed. (Bug ID 278605)
+o The 6.1 release of the C compiler would
incorrectly compile the SPEC95 benchmark,
go, at optimization level -O3, -32. This
has been fixed. (Bug ID 327338)
+o The 6.1 release of the C compiler would
under certain circumstances produce
incorrect code to restore callee saved
registers when compiling -64 -g. (Bug ID
332943)