changeset 612:17b517997c7a

Finished the intro notice
author roug
date Sat, 23 Nov 2002 11:23:35 +0000
parents d03bc9b884d5
children 16dc49e3a104
files docs/ccguide/intro.preface
diffstat 1 files changed, 98 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/docs/ccguide/intro.preface	Sat Nov 23 10:39:11 2002 +0000
+++ b/docs/ccguide/intro.preface	Sat Nov 23 11:23:35 2002 +0000
@@ -1,5 +1,7 @@
 <preface>
 <title>Differences between Versions 1.1 and 1.0</title>
+<caution>
+<title>Important Notice - Please Read Carefully</title>
 <para>
 This package contains the OS-9 C Compiler Version 1.1. Many
 improvements and bug fixes have been incorporated since the V1.0
@@ -20,6 +22,7 @@
 <para>
 The remainder of this notice describes the changes made since V1.0.
 </para>
+</caution>
 
 <variablelist>
 <varlistentry><term>General:</term>
@@ -36,6 +39,10 @@
 <varlistentry><term>Executives (cc1 and cc2):</term>
 <listitem>
 <para>
+-x appearing on the cc1 command line causes the compiler to
+make the c.com command file but not execute it. -q on the cc2
+command line causes the compiler to suppress filename and
+compiler phase messages.
 </para>
 </listitem>
 </varlistentry>
@@ -51,6 +58,21 @@
 <varlistentry><term>Compiler (c.comp, c.pass1, c.pass2):</term>
 <listitem>
 <para>
+C.pass1 float/double conversion is now done properly rather
+than reporting error 7.
+</para>
+<para>
+Direct and static direct storage classes may now be
+initialized.
+</para>
+<para>
+Sizeof operator now reports an error when applied to an
+undefined identifier. Sizeof now allows any expression inside
+of parenthesis. Previously, only primaries were allowed.
+</para>
+<para>
+Various code generation problems involving certain long and
+floating operations have been fixed.
 </para>
 </listitem>
 </varlistentry>
@@ -71,6 +93,17 @@
 <varlistentry><term>Assembler (c.asm):</term>
 <listitem>
 <para>
+C.asm can now handle direct-page initialized data.
+</para>
+<para>
+Some out-of-range short branches were not detected.
+</para>
+<para>
+VSECT syntax changed to allow direct-page initializers. This
+make V1.0 assembly file incompatible with V1.1.
+</para>
+<para>
+Macro and repeat block facilities have been added.
 </para>
 </listitem>
 </varlistentry>
@@ -95,6 +128,71 @@
 <varlistentry><term>Library (clib.l):</term>
 <listitem>
 <para>
+The standard library FILE structure has been changed to allow
+specification of buffersize for a file. In V1.0, the
+buffersize was fixed at 256 bytes. A new element of the FILE
+struct (_bufsiz) contains the desired buffer size. This may be
+used as follows:
+<programlisting>
+main()
+{
+     FILE *fp;
+
+     fp=fopen("file","r");
+     fp->_bufsiz = 1024;
+
+.....
+}
+</programlisting>
+A few restrictions exist on the use of this parameter.
+Initially the _bufsiz value is 0. The library routines will
+assign a buffer of 256 bytes to the file upon initial read
+or write. If the value is non-zero and the fp has not
+previously been accessed, that value is used as the
+buffersize. Note that due to the way the library routines
+work, once a buffer of a given size is allocated to an fp, a
+larger size cannot be used, even if the file is closed. Note
+that the buffers are allocated from the ibrk() so enough extra
+memory must be allocated by the linker to handle the bigger
+buffers.
+</para>
+<para>
+Since the size of the _iobuf struct (FILE) in stdio.h has
+changed, all .r files must be re-compiled using the new header
+file.
+</para>
+<para>
+Cstart.r can now handle direct page data initialization.
+</para>
+<para>
+Fseek() now does not cause the buffer to be re-filled if the
+seek destination is already in the buffer.
+</para>
+<para>
+Getc() now does "I$READ" on unbuffered SCF devices rather than
+"I$READLN".
+</para>
+<para>
+Getc() performed on "stdin" flushes the "stdout" buffer.
+</para>
+<para>
+Printf() has been changed to not flush the "stdout" buffer
+before returning.
+</para>
+<para>
+Chown() has been fixed to not wipe out disks.
+</para>
+<para>
+Toascii() has been added to stdio.h
+</para>
+<para>
+Calls to scanf() now do not cause the linker to reports
+unresolved references to toupper() and tolower().
+</para>
+<para>
+The floating point routines now report errors 40, 41, and 42
+for floating point over/underflow, divide by zero, and
+float/long conversion instead of error #007.
 </para>
 </listitem>
 </varlistentry>