home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / gnu / gcc / bug / 3253 < prev    next >
Encoding:
Text File  |  1993-01-28  |  3.6 KB  |  101 lines

  1. Path: sparky!uunet!ferkel.ucsb.edu!taco!rock!stanford.edu!agate!ames!saimiri.primate.wisc.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!npac.syr.EDU!edelsohn
  2. From: edelsohn@npac.syr.EDU (David Edelsohn)
  3. Newsgroups: gnu.gcc.bug
  4. Subject: gcc-2.3.3 optimization bug on RS/6000
  5. Date: 26 Jan 1993 22:17:46 -0500
  6. Organization: GNUs Not Usenet
  7. Lines: 88
  8. Sender: daemon@cis.ohio-state.edu
  9. Approved: bug-gcc@prep.ai.mit.edu
  10. Distribution: gnu
  11. Message-ID: <199301261958.AA07475@king.syr.edu>
  12.  
  13.     The following C program produces different results depending on
  14. whether it is compiled with optimization or not.  This code is a fragment
  15. of that found in libg++-2.3's iostream library (sbufvform.C) although it
  16. does not depend on C++ features.  This bug causes libg++-2.3 to work
  17. incorrectly on the RS/6000 architecture.
  18.  
  19. -----bug.c-----
  20. #include <stdio.h>
  21.  
  22. #define to_digit(c)     ((c) - '0')
  23. #define is_digit(c)     ((unsigned)to_digit(c) <= 9)
  24.  
  25. main(int argc, char *argv[])
  26. {
  27.         register const char *fmt;
  28.         register int ch;
  29.         register int n;
  30.         int prec;
  31.  
  32.         fmt = argv[1];
  33.  
  34.         ch = *fmt++;
  35.  
  36.         n = 0;
  37.         while (is_digit(ch)) {
  38.                 n = 10 * n + to_digit(ch);
  39.                 ch = *fmt++;
  40.         }
  41.         prec = n < 0 ? -1 : n;
  42.  
  43.         printf("%d\n", prec);
  44.  
  45.         exit(0);
  46. }
  47. -----
  48.  
  49. contrib% gcc -v bug.c
  50. Reading specs from /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/specs
  51. gcc version 2.3.3
  52.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/cpp -lang-c -v -undef
  53. -D__GNUC__=2 -D_IBMR2 -D_AIX -D_AIX32 -D___IBMR2__ -D___AIX__ -D___AIX32__
  54. -D___IBMR2 -D___AIX -D___AIX32 -D__CHAR_UNSIGNED__ bug.c /tmp/ccXTICrx.i
  55. GNU CPP version 2.3.3
  56.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/cc1 /tmp/ccXTICrx.i -quiet
  57. -dumpbase bug.c -version -o /tmp/ccXTICrx.s
  58. GNU C version 2.3.3 compiled by GNU C version 2.3.3.
  59.  as -u -o /tmp/ccXTICrx1.o /tmp/ccXTICrx.s
  60.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/ld -T512 -H512 -btextro
  61. -bhalt:4 -bnodelcsect /lib/crt0.o
  62. -L/contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3 -L/contrib/lib
  63. /tmp/ccXTICrx1.o /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/libgcc.a -lc
  64. /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/libgcc.a
  65.  
  66. contrib% a.out 23
  67. 23
  68.  
  69. contrib% gcc -v -O bug.c
  70. Reading specs from /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/specs
  71. gcc version 2.3.3
  72.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/cpp -lang-c -v -undef
  73. -D__GNUC__=2 -D_IBMR2 -D_AIX -D_AIX32 -D___IBMR2__ -D___AIX__ -D___AIX32__
  74. -D___IBMR2 -D___AIX -D___AIX32 -D__CHAR_UNSIGNED__ -D__OPTIMIZE__ bug.c
  75. /tmp/ccXTwDFW.i
  76. GNU CPP version 2.3.3
  77.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/cc1 /tmp/ccXTwDFW.i -quiet
  78. -dumpbase bug.c -O -version -o /tmp/ccXTwDFW.s
  79. GNU C version 2.3.3 compiled by GNU C version 2.3.3.
  80.  as -u -o /tmp/ccXTwDFW1.o /tmp/ccXTwDFW.s
  81.  /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/ld -T512 -H512 -btextro
  82. -bhalt:4 -bnodelcsect /lib/crt0.o
  83. -L/contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3 -L/contrib/lib
  84. /tmp/ccXTwDFW1.o /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/libgcc.a -lc
  85. /contrib/lib/gcc-lib/rs6000-ibm-aix32/2.3.3/libgcc.a
  86.  
  87. contrib% a.out 23
  88. -1
  89.  
  90.     I would appreciate receiving any patches developed to fix this bug.
  91.  
  92.                 Thanks, David
  93. ===============================================================================
  94. David Edelsohn                                          Dept of Physics
  95. Syracuse Center for Computational Science               201 Physics Bldg
  96. INTERNET: edelsohn@sccs.Syr.EDU                         Syracuse, NY 13244-1130
  97. "The Church doesn't have problems with sex; the world does" -- Vatican official
  98. "A good theory should fit on a T-shirt" -- Astronomer at Jan 1992 AAS meeting
  99.  
  100.  
  101.