Article View: comp.sys.mac.programmer.codewarrior
Article #742[ANN] New Compiler Features for CWDS Mac OS 9
From: MW Ron
Date: Mon, 25 Aug 2003 18:17
Date: Mon, 25 Aug 2003 18:17
80 lines
4512 bytes
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!mwronShow 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^$