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