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
Text File  |  1996-03-14  |  5KB  |  198 lines

  1.  
  2.  
  3.  
  4.                                                - 1 -
  5.  
  6.  
  7.  
  8.                     6.2 ANSI C Release Notes
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                                - 2 -
  69.  
  70.  
  71.  
  72.                     DDDDooooccccuuuummmmeeeennnntttt NNNNuuuummmmbbbbeeeerrrr 000000007777----1111666655559999----000011110000
  73.  
  74.  
  75.                     5.  _B_u_g__F_i_x_e_s
  76.  
  77.                     This chapter briefly describes the bugs that
  78.                     have been fixed in the 32-bit compiler since
  79.                     release 3.19, and the 64-bit compiler since
  80.                     release 6.1.  Some of the headings are followed
  81.                     by a Silicon Graphics incident report number.
  82.  
  83.                        +o The C Preprocessor did not interpret 0Xnn
  84.                          as a hex value.  This has been fixed.  (Bug
  85.                          ID 250863)
  86.  
  87.                        +o The 32-bit optimizer would produce
  88.                          incorrect code for the following test case:
  89.  
  90.                             void Fail_FmtAssertion ( const char *fmt, ... )
  91.                             {
  92.                                return;
  93.                             }
  94.  
  95.                             static int idx0 = -1;
  96.                             static int tbl[1][8][8];
  97.                             static void * ptr_array[1];
  98.  
  99.                             void
  100.                             test(void)
  101.                             {
  102.                                int idx1;
  103.                                int idx2;
  104.  
  105.                                (idx0 < 0? (void) 1 : Fail_FmtAssertion("Invalid idx in test()"));
  106.  
  107.                                idx0++;
  108.  
  109.                                ptr_array[idx0] = 0;
  110.  
  111.                                /* Reset the lookup table for scalar pregs */
  112.                                for (idx1 = 0; idx1 < 8; idx1++)
  113.                                   for (idx2 = 0; idx2 < 8; idx2++)
  114.                                      tbl[idx0][idx1][idx2] = 0;
  115.                             }
  116.  
  117.                             main()
  118.                             {
  119.                                test();
  120.                             }
  121.  
  122.                          This has been fixed.  (Bug ID 252987)
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                                - 3 -
  135.  
  136.  
  137.  
  138.                        +o The 32-bit code generator, ugen, would
  139.                          under certain circumstances produce an
  140.                          assertion failure when compiling at
  141.                          optimization level -O3.  This has been
  142.                          fixed.  (Bug ID 256377)
  143.  
  144.                        +o The file, concat.c, from gdb4.14 libiberty
  145.                          was being optimized incorrectly at -O -32.
  146.                          This has been fixed.  (Bug ID 268857)
  147.  
  148.                        +o The 3.19 release of the C compiler had a
  149.                          performance regression which would result
  150.                          in extra shift and add instructions being
  151.                          emitted in a loop. This was fixed in patch
  152.                          449 and carried over in subsequent
  153.                          releases.  (Bug ID 269115)
  154.  
  155.                        +o The 3.19 release of the C compiler would
  156.                          under certain circumstances produce
  157.                          incorrect code which would cause the result
  158.                          register ($r3) to be overwritten.  This has
  159.                          been fixed.  (Bug ID 269392)
  160.  
  161.                        +o Miscellaneous segmentation violations would
  162.                          occur in the 32-bit C front-end, cfe.  This
  163.                          has been fixed.  (Bug ID 276339, 286673)
  164.  
  165.                        +o The cc68 program, when built using 6.1
  166.                          yacc, would fail. The first indication of
  167.                          trouble is that 6.1 yacc reported 6
  168.                          shift/reduce conflicts on
  169.                          gfx/common/tools/cc68/ccom/cgram.y, whereas
  170.                          5.3 yacc reports 7, the "expected" number.
  171.                          This has been fixed.  (Bug ID 278605)
  172.  
  173.                        +o The 6.1 release of the C compiler would
  174.                          incorrectly compile the SPEC95 benchmark,
  175.                          go, at optimization level -O3, -32. This
  176.                          has been fixed.  (Bug ID 327338)
  177.  
  178.                        +o The 6.1 release of the C compiler would
  179.                          under certain circumstances produce
  180.                          incorrect code to restore callee saved
  181.                          registers when compiling -64 -g.  (Bug ID
  182.                          332943)
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.