home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / modula2 / 1082 < prev    next >
Encoding:
Text File  |  1992-08-29  |  1.9 KB  |  62 lines

  1. Newsgroups: comp.lang.modula2
  2. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!jvnc.net!yale.edu!ira.uka.de!sun1.ruf.uni-freiburg.de!news.belwue.de!theorie!titania.mathematik.uni-ulm.de!borchert
  3. From: borchert@titania.mathematik.uni-ulm.de (Andreas Borchert)
  4. Subject: Re: Bugs in Terra's M2-Compiler V4.1-2 for VMS
  5. Message-ID: <1992Aug28.120113.19227@informatik.uni-ulm.de>
  6. Sender: usenet@informatik.uni-ulm.de (Name for nntp-posting)
  7. Nntp-Posting-Host: titania.mathematik.uni-ulm.de
  8. Organization: University of Ulm, SAI
  9. References:  <26AUG199217273382@srzts204>
  10. Date: Fri, 28 Aug 92 12:01:13 GMT
  11. Lines: 49
  12.  
  13. In article <26AUG199217273382@srzts204>, roth@srzts204 (G.Roth, 2958,H267) writes:
  14. > A recent message asked about bugs in the Terra-Datentechnik (former Logitech)
  15. > Modula-2 compiler.
  16. > Hereafter the list of bugs we currently know:
  17. [some bug descriptions deleted]
  18. > MODULE bug5;
  19. > FROM SYSTEM IMPORT
  20. >   SIZE;
  21. > FROM InOut IMPORT
  22. >   WriteString, WriteInt, WriteLn;
  23. > VAR
  24. [some declarations deleted]
  25. >   d : RECORD x:ARRAY [0..4] OF CHAR; END;
  26. [..deleted...]
  27. > BEGIN
  28. [..deleted...]
  29. >   WriteString( "  SIZE(d)   (* =5 *)" ); WriteInt( SIZE(d),   3 ); WriteLn;
  30. >   WriteString( "  SIZE(d.x) (* =5 *)" ); WriteInt( SIZE(d.x), 3 ); WriteLn;
  31. [..deleted...]
  32. > END bug5.
  33. > Comment:
  34. >     SIZE() of a record type whose true length is odd and larger than 1
  35. >     returns a value that is 1 too large:
  36. > $ modula/nolog bug5.mod
  37. > $ link bug5
  38. > $ run bug5
  39. [...deleted...]
  40. >   SIZE(d)   (* =5 *)  6
  41. >   SIZE(d.x) (* =5 *)  5
  42. [...deleted...]
  43.  
  44. That's not necessarily a bug. An implementation is free to allocate
  45. one or more bytes for padding of compositional types.
  46. It would be a bug if the compiler doesn't allocate 6 bytes for the
  47. entire RECORD type.
  48.  
  49. -- 
  50. _______________________________________________________________________________
  51.  
  52. Andreas Borchert, University of Ulm, SAI, D-W-7900 Ulm, Germany
  53. Internet: borchert@mathematik.uni-ulm.de
  54.