🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac.programmer.codewarrior
Article #742

[ANN] New Compiler Features for CWDS Mac OS 9

#742
From: MW Ron
Date: Mon, 25 Aug 2003 18:17
80 lines
4512 bytes
Some Compiler Features:
* The compiler now has an Instance Manager that tracks templates & 
doesn't recompile them (improves compile speed).

* This option reduces compile time by telling the compiler to generate 
any instance of a template (or non-inlined inline) function only once.  
Object code size (and associated debug information size) is reduced.  
This does not affect the output file size, though, since the compiler is 
effectively doing the same task as the linker in this mode.

Mach-O bool type is 4 bytes (... so you can build KExts).

* The option "Enable GCC extensions" has been added and support for GCC  
extensions has been enhanced. (replaces old #pragma) 
* C99 variable length arrays are now supported.
* This is supported:
      #pragma c99 on
      void f(int n)     
      {
         int arr[n];
      }
* Please note that VLAs are only supported in local or function 
prototype scope (as required by the C99 standard):

   #pragma c99 on
      int n;
      int arr[n];
   // Error: variable length array types can only be used in local or 
function prototype scope.
* VLAs also work in the C++ compiler when C99 is enabled, however, you 
cannot use VLAs in a function template's prototype scope or in local 
template typedefs.
* CodeWarrior can now  track include file guard macros.
* The preprocessor will track macros used to guard #include files to 
reduce parsing time.  I.e., if a file's contents are surrounded with:
      #ifndef FOO_H
      #define FOO_H
            ... contents ...
      #endif
   
The compiler will not attempt to load the file twice, saving a 
negligible amount of time used to skip the contents of the file.
* New warnings such as (missing 'return' statements, expression has no 
side-effects, include file capitalization).
* A new preprocessor panel has been added.
* The prefix file field has been removed from the C/C++ Language panel. 
You can use the new text field that can be used to #define macros, set 
#pragmas, or #include prefix files.
* Allows you to set a number of options for preprocessing including:
* "Keeping" comments
* Emitting file changes 
* Emitting  #pragmas
* Include prefix text when building precompiled headers
* Show full paths
* The Mach-O linker now produces STABS output.
* Complete STABS info or just STABS line info.
* Produces STABS in addition to (or without) SYM info.
* The end result is that the Apple Mach-O linker is no longer necessary 
and has been removed.
* Code folding.
* All safe code (for any functions with exactly the same code).
*  could also be referred to as coalescing functions by content. The 
linker already coalesces template and inline functions by name.

This new implementation also allows coalescing functions by their 
instructions so that functions which have different names, but which 
contain the same instructions (and references to the same objects) can 
be coalesced into a single function.
   For functions which are exported or have their address explicitly 
taken (except by exception tables) will retain a stub branch to the code 
so that the ANSI rule that two functions must have unique pointers will 
be followed.

-- 
         CodeWarrior Development Studio for Macintosh v9
Enhance Your Productivity and Shorten your Development Cycles
                 <http://store.metrowerks.com/> 
        Sales and Support 512-996-5300   800-377-5416     
Ron Liechty - MWRon@metrowerks.com - http://www.metrowerks.com
Technical Details
Message-ID: <mwron-9D5A52.14174225082003@enews.newsguy.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!tethys.csu.net!pln-w!spln!dex!extra.newsguy.com!newsp.newsguy.com!mwron

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10bcce,7fc77234192a308d,start
X-Google-Attributes: gid10bcce,public
X-Google-Thread: f635e,7fc77234192a308d,start
X-Google-Attributes: gidf635e,public
X-Google-ArrivalTime: 2003-08-25 11:35:17 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!tethys.csu.net!pln-w!spln!dex!extra.newsguy.com!newsp.newsguy.com!mwron
From: MW Ron <mwron@metrowerks.com>
Newsgroups: comp.sys.mac.programmer.codewarrior,codewarrior.mac
Subject: [ANN] New Compiler Features for CWDS Mac OS 9
Date: Mon, 25 Aug 2003 14:17:42 -0400
Organization: Metrowerks
Lines: 80
Message-ID: <mwron-9D5A52.14174225082003@enews.newsguy.com>
NNTP-Posting-Host: p-469.newsdawg.com
User-Agent: MT-NewsWatcher/3.2 (PPC Mac OS X)
X-Face: )mY~XFHLw)UOW!W#[Ljvxq6Ja7(g'#F0-g*&puNxR8hEJkd@Oue/70^.)I78\
        (%a%&Id211u"l/t.llWo/M|?15XUlx9!IGkdWiEmcasiyg"k;Q9[~XuE+`t2"*n(>nmm
        @L/q,TjMd5+H{gASEPDR^$