home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / g / gcc / !GCC / docs / Bugs next >
Encoding:
Internet Message Format  |  1994-01-11  |  3.6 KB

  1. From: simon@pinesoft.demon.co.uk (Simon Callan)
  2. Subject: Known bugs in GCC 2.4.5
  3. Date: Thu, 18 Nov 1993 08:34:04 +0000
  4.  
  5. For those of you interested in the port of GCC 2.4.5 to the Archimedes, this
  6. is a complete list of the known bugs in the first beta release. If you know of
  7. any bugs that are not in this list, could you please let me know, either by
  8. e-mail to 'simon.callan@gpt.co.uk' or to my work address below.
  9.  
  10. The second beta release is currently nearing completion, and should be out
  11. soon. After that I will be working on GCC 2.5.*
  12.  
  13. Simon
  14.  
  15. --------------------------------------------------------------------------
  16.  
  17. 1)
  18.  
  19. There is a problem with UnixLib, which affects the running of AMU - if one
  20. compilation failes, with a non-zero return code, subsequent compilations
  21. during the same run of AMU also fail.
  22.  
  23. Preventative action:
  24.  
  25. Dont use the ignore return codes / continue after errors options in !make,
  26. !amu.
  27.  
  28. 2)
  29.  
  30. Occasionally, GCC gets stuck with cc1 (i think) always returning an exit code
  31. of 1, and causing all subsequent compilations to fail. This is another
  32. manifestation of 1), but this extends from one run of AMU to the next.
  33.  
  34. Preventative action:
  35.  
  36. Pressing f12, followed by return (ie accessing the cli) appears to clear this
  37. problem.
  38.  
  39. 3)
  40.  
  41. If the cc1 phase ends with certain errors, GCC will mistakenly start the
  42. assembly phase.
  43.  
  44. Preventative actions
  45. None.
  46.  
  47. 4)
  48.  
  49. If you have an 8-byte structure, nested at the start of another structure, and
  50. you have an array of these structures, any attempts to assign to the complete
  51. nested structure, using a variable as the array index causes the compiler to
  52. crash with 'unrecognised insn'
  53.  
  54. ie.
  55. struct s1
  56.      {
  57.      int i;
  58.      int j;
  59.      } fred;
  60.  
  61. struct s2
  62.      {
  63.      struct s1 substruct;
  64.      } jim[2];
  65.  
  66. void bug(void)
  67.  
  68. {
  69.      int i;l
  70.      jim[i].substruct = fred;
  71. }
  72.  
  73. Preventative actions
  74. Avoid using this construct. If the sub-structure is not 8 bytes in length, or
  75. is not at the start of the enclosing structrue, there are no problems.
  76.  
  77. 5)
  78.  
  79. Statements of the form #include "dir.file.h" do not work correctly - Unixlib
  80. does not convert this to dir.h.file.
  81.  
  82. Preventative actions
  83. Use "dir/file.h", which is more portable.
  84.  
  85. 6)
  86.  
  87. When used with !virtual, gcc *occasionaly* freezes the computer, with the
  88. reset button having to be used. This has twice damaged the freespace map on my
  89. hard-disc.
  90.  
  91. Preventative actions
  92. Not a lot if you need to use !Virtual.
  93.  
  94. 7)
  95.  
  96. If you use a command line like 'gcc -c c.bug', the resultants outputut file is
  97. called o.c, not o.bug.
  98.  
  99. Preventative actions
  100.  
  101. Either specify the output filename using -o or specifiy the source file as
  102. bug.c.
  103.  
  104. 8)
  105.  
  106. If there is not enough memory to load cpp/cc1, GCC will *quietly* stop without
  107. reporting any errors.
  108.  
  109. Preventative actions
  110. ensure that there is enough memory in the wimpslot before runnign GCC. Note
  111. gcc is not capable of extending the wimpslot.
  112.  
  113. 9)
  114.  
  115. If the variable Unix$tty is set, GCC will crash with memory corruption
  116. problems.
  117.  
  118. Preventative actions
  119.  
  120. Don't set the variable Unix$tty.
  121.  
  122. 10)
  123.  
  124. Certain variable names clash with the naming of register in the assembly
  125. phase. These or 'r0', 'r1', 'r2', 'r3', 'r4', 'r5', 'r6', 'r7', 'rfp', 'sl',
  126. 'fp', 'ip', 'sp', 'lr', 'pc', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'.
  127.  
  128. Preventative actions
  129.  
  130. Avoid using variables with these names
  131.  
  132. ================================================================================
  133. Simon Callan                       Janet     : Simon.Callan@uk.co.gpt
  134. GPT Data Systems                   Internet  : Simon.Callan@gpt.co.uk
  135. Elstree Way
  136. Borehamwood
  137. Herts, WD6 1RX
  138. The above opinions are mine, all mine, and you CAN'T have them.
  139. ================================================================================
  140.  
  141.  
  142.