On Sun, 22 Aug 2004, Luchezar Georgiev wrote:

> They had moved the 1.3 from the devel/beta subdirectory onto a new one:
>
> http://downloads.openwatcom.org/ftp/zips-1.3/
>
> I think it's a good sign that they're ready to announce it soon. But Bart
> probably knows more ;-)

Michal Necasek just said he was going on holiday for two weeks. He just
apparently (didn't know myself) just renamed 1.3rc3 to 1.3 before taking
his bags ;) but there hasn't been any formal announcement

Anyway the code generator hasn't improved from our point of view.
The compiler is significantly faster for certain code (not sure if that
affects FD-kernel). In case you're interested I've put the changes below.

Bart

* The C++ compiler now restricts the scope of variables declared in a for
loop to the scope of that loop in accordance with ISO C++, not extending
the scope beyond the loop (ARM compliant behaviour). Code relying on the
pre-standard behaviour must either be changed or compiled with new -zf
switch which reverts to old scoping rules.
* Support for default template arguments has been added to the C++ compiler.
* Support for alternative tokens (and, xor etc.) has been added to the C++
compiler. It is enabled by default, can be turned off with the new -zat
switch.
* The C runtime library has been made significantly more C99 compliant. A number
of new headers have been added (inttypes.h, stdbool.h, stdint.h, wctype.h) and
corresponding new functions implemented. Wide character classification
functions were moved out of ctype.h into wctype.h. C99 va_copy macro was
added to stdarg.h.
* Added 'cname' style C++ headers.
* Support for SSE, SSE2, SSE3 and 3DNow! instruction sets has been added. Affected
tools are the assembler (wasm), as well as all x86 compilers, disassembler and
debugger. The debugger now also supports MMX registers formatted as floats
(for 3DNow!) as well as a new XMM register window for SSE.
* Inline assembler directives .MMX, .K3D, .XMM, .XMM2 and .XMM3 are now supported in
the _asm as well as #pragma aux style inline assembler interface. Note: .MMX
directive is now required (in addition to .586) to use MMX instructions.
* C compiler performance has been significantly improved (up to 5-10 times speedup)
when compiling large and complex source files.
* All x86 compilers now have the ability to perform no truncation when converting
floating point values to integers. Additionally, 32-bit x86 compilers have the
option to inline the rounding code instead of calling __CHP.
* The C lexical scanner no longer evaluates constants with (U)LL suffix that
fit into 32 bits as zero (1ULL was wrong, LONGLONG_MAX was correct).
* C and C++ x86 inline assembler has been fixed to properly process hexadecimal
constants postfixed with 'h'.
* The C compiler now supports the C99 'inline' keyword, in addition to previously
supported '_inline' and '__inline' keywords.
* The C compiler now treats a sequence of adjacent character strings as wide if
any of the components are wide (required by C99), instead of depending on the
type of the last component. For example, L"foo " "bar" is now interpreted as
L"foo bar", instead of "foo bar".
* The internal C compiler limit on complex expressions has been increased
and if it is still insufficient, the compiler now reports an error instead of
crashing.
* The C compiler now issues a warning on the default warning level if a function
with no prototype is referenced. This was previously warning W301 (level 3), now
it is warning W131 (level 1).
* Warning "W132: No storage class or type specified" has been added to the C compiler.
This warning is issued if a variable is declared without specifying either storage
class or type. This is not allowed in C89.
* Warning "W304: Return type 'int' assumed for function 'foo'" has been added.
This warning is issued if a function is declared without specifying return type.
This is allowed in C89 but not in C99.
* Warning "W305: Type 'int' assumed in declaration of 'foo'" has been added to the
C compiler. This warning is issued if a variable is declared without specifying
its type. This is allowed in C89 but not in C99. Note that if warning W132 is
issued, W305 applies as well.
* The C compiler now properly warns if a function with implied 'int' return type
fails to return a value. This potential error was previously undetected.
* C++ compiler diagnostic messages have been made more consistent and slightly more
detailed.
* Linker for Win32 targets can now create file checksums. These are primarily used
for DLLs and device drivers, but can be applied to all Win32 PE images if required.
* Linker for Win32 targets can now set operating system version requirements into
the PECOFF optional header (Microsoft extended header).
* Linker for Win32 targets can now set the linker version number into the PE
optional header (Microsoft extended header).
* The linker will now eliminate zero-sized segments from NE format (16-bit OS/2
and Windows) executables. This fixes a problem where Windows 3.x would refuse
to load an executable with zero sized segment. This could happen especially
with C++ programs where some segments may have ended up empty after eliminating
unused functions.
* The linker now (again) produces correct Watcom style debugging information. This
was a regression introduced in previous version.
* Command line parsing for wccxxx, wppxxx and cl has been changed such that a
double backslash inside a quoted string is collapsed to a single backslash,
and hence "foo\\" now translates to 'foo\' and not 'foo\"'.
* The IDE and other graphical tools no longer leak system resources (a bug introduced
in version 1.2).
* The Image Editor limit on bitmap size has been changed from 512x512 pixels to
2048x2048 pixels.
* The source browser now correctly decodes array information; Version 11.0c of
Watcom C/C++ started emitting array browse information in a new format and the
browser hadn't been updated accordingly.
* The NT debugger trap file has been changed so an exception generated during a
step operation is handled correctly. Previously, the single step flag was not being
cleared and when the exception was being offered to the debuggee's own exception
handlers, a single step exception occurred in NT's exception handler rather than
the exception being passed back to our handler.
* The OS/2 debuggers now dynamically allocate buffer for the command line,
preventing crashes when the command line was over approx. 260 bytes long.
* The NetWare 5 debugger NLM has been changed to use kernel primitives. Previous
version were using legacy semaphores.
* The make program (wmake) has been sped up very slightly. Also the 'echo' command
is now internal and no longer spawns the system command interpreter.
* The precision of DBL_MAX, DBL_MIN and DBL_EPSILON has been increased; the 
non-standard
variants prefixed with an underscore have been removed.
* The C99 functions atoll(), lltoa(), ulltoa(), strtoll(), strtoull() and corresponding
wide character functions have been added to the C runtime library.
* The _beginthread() function now consistently returns -1 in case of error on
all platforms.
* The stdaux and stdprn streams are now only defined on DOS based platforms, ie.
DOS, Win16 and Win386. No other platforms support stdaux or stdprn.
* The assert() macro now prints function name in addition to source file and
line number, in accordance with C99.
* The _heapchk() function will now always perform a consistency check on the
heap, where it would previously only check consistency if there had been
allocations/frees since last call to _heapchk(). As a consequence, _heapchk()
previously did not detect certain instances of heap corruption.
* [OS/2 32-bit] The default __disallow_single_dgroup() implementation no longer
statically links agaist PMWIN.DLL. This allows DLLs to load on systems where
PMWIN.DLL isn't present.
* [OS/2 32-bit] Re-implemented clock(). The new implementation uses the OS
millisecond counter and is hence not susceptible to TZ changes. It is also
smaller, faster and more accurate, although it may wrap around earlier than
the original implementation.
* The disassembler (wdis) now correctly processes x86 'push 8-bit immediate'
instructions.
* The disassembler now correctly processes absolute memory references. All memory
references without fixup are now disassembled as ds:[...] or sreg:[...].
* Several DirectX Win32 programming samples have been added. Note that a separate
DirectX SDK (available from Microsoft) is required to build these sample programs.


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to