<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Am 28.05.15 um 04:03 schrieb Antony
      Hosking:<br>
    </div>
    <blockquote
      cite="mid:77605189-D966-4D4B-8946-838BD6E178AA@purdue.edu"
      type="cite">
      <pre wrap="">BYTESIZE(ADDRESS) = BYTESIZE(INTEGER) in cm3 on all target platforms. I don't really understand what you are proposing.

</pre>
    </blockquote>
    on AMD64: BITSIZE(INTEGER) = BITSIZE(LONGINT) = 64bit<br>
    <br>
    I have just noticed that and when taking a practical standpoint -
    i.e. what really matters to new and old programs -<br>
    this is a really bad decision which I wish to change for the next
    release.<br>
    <br>
    If you have not examined it yet please reclaim the design decisions
    for leaving int 32bit in C:<br>
    <pre wrap=""><i><big>However things turned out to be very different when the extension from 
32bit to 64bit was at stake. There was no more gain by automatically
extending the value ranges from 2<sup class="moz-txt-sup"><span style="display:inline-block;width:0;height:0;overflow:hidden">^</span>32</sup> to 2<sup class="moz-txt-sup"><span style="display:inline-block;width:0;height:0;overflow:hidden">^</span>64</sup> for 95% of all application
purposes while the memory hierarchy has increasingly become a bottle 
neck in recent time. Additionally doubling the size of all integers would
initially have doubled our memory needs which would have been a
potential drawback for introducing the AMD64 arch. Just think of a machine
with 4GB of RAM: It can not be addressed by 32bit (only ~3GB can) while
making all INTS 64bit would have shrunken our memory to an effective size
of 2GB. Luckily the decision was taken differently this time:

* keep all ints of at most 32bit and just extend pointers to 64bit
</big></i> </pre>
     Same reasoning applies to Modula-3. - and I believe you have failed
    to notice when <br>
    making your decisions for cm3 5.8.6. Or do you want to tell me that
    Modula-3 <br>
    developers are more prudent than the C/C++ community?<br>
    <br>
      Even worse I have discovered the following:<br>
    BITS 8 FOR INTEGER and BITS 32 FOR INTEGER do not work with cm3
    5.8.6:<br>
    <br>
    :: BITS FOR size too small, must be at least (64)<br>
    <br>
    That will break existing legacy code when trying to compile it with
    cm3 5.8.6. <br>
  </body>
</html>