release implements the following new features:<p>
<ol>
-<li><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-November/000528.html">A new LLVM profiler, similar to gprof</a> is available</li><p>
-
-<li>LLVM and the C/C++ front-end now compile on Mac OSX! Mac OSX users can now
-explore the LLVM optimizer with the C backend (note that LLVM requires GCC 3.3
-on Mac OSX).</li><p>
-
-</ol><p>
+<p><li><a
+href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-November/000528.html">A new
+LLVM profiler, similar to gprof</a> is available</li></p>
+
+<p><li>LLVM and the C/C++ front-end now compile on Mac OSX! Mac OSX users can
+now explore the LLVM optimizer with the C backend (note that LLVM requires GCC
+3.3 on Mac OSX).</li></p>
+
+<p><li>LLVM has been <a
+href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-November/000554.html">moved
+into an 'llvm' C++ namespace</a>, for easier integration with third-party
+code.</a> Note that due to a bug in GDB 5.x, to debug namespacified LLVM code,
+you will need to upgrade to GDB 6.</li></p>
+</ol>
In this release, the following missing features were implemented:<p>
<ol>
<li><a href="http://llvm.cs.uiuc.edu/PR88">The interpreter does not support
invoke or unwind</a></li>
+
+<li><a href="http://llvm.cs.uiuc.edu/PR99">Interpreter does not support the
+<tt>vaarg</tt> instruction</a></li>
+
+<li><a href="http://llvm.cs.uiuc.edu/PR117">llvm-nm cannot read archive
+files</a></li>
+
</ol><p>
In this release, the following Quality of Implementation issues were fixed:<p>
<li><a href="http://llvm.cs.uiuc.edu/PR84">C front-end doesn't emit
getelementptr for address of array element</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR96">Bad path to the C/C++ frontend causes
+build problems</a></li>
+
+<li><a href="http://llvm.cs.uiuc.edu/PR114">LLVM header files should be -Wold-style-cast clean</a></li>
+
+
+<li>The LLVM bytecode reader has been <a
+href="http://llvm.cs.uiuc.edu/PR127">sped up a lot</a> (up to 4x in some
+cases).</li>
+
</ol><p>
<li><a href="http://llvm.cs.uiuc.edu/PR70">[instcombine] Resolving invoke inserts cast after terminator</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR71">llvm-as crashes when labels are used in phi nodes</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR72">[build problem] Callgraph.cpp not pulled in from libipa.a</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR77">Variables in scope of output setjmp
+calls should be volatile</a>. Note that this does not effect correctness on
+many platforms, such as X86.
<li><a href="http://llvm.cs.uiuc.edu/PR79">llvm-gcc crashes compiling global union initializer</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR80">C front-end crash on empty structure</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR81">CFrontend crashes when compiling C99 compound expressions</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR92">[bcreader] Cannot read shift constant expressions from bytecode file</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR93">[lowersetjmp] Lowersetjmp pass breaks dominance properties!</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR94">llvm-gcc tries to add bools</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR95">SymbolTable::getUniqueName is very inefficient</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR98">[buildscripts] Building into objdir with .o in it fails</a></li>
<li><a href="http://llvm.cs.uiuc.edu/PR101">[setjmp/longjmp] Linking C programs which use setjmp/longjmp sometimes fail with references to the C++ runtime library!</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR104">[c++] C++ Frontend lays out superclasses like anonymous bitfields!</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR107">AsmParser Misses Symbol Redefinition Error</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR108">gccld -Lfoo -lfoo fails to find ./foo/libfoo.a</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR110">[bcreader] Incorrect cast causes misread forward constant references</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR112">Casting a string constant to void crashes llvm-gcc</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR116">[adce] ADCE considers blocks without postdominators to be unreachable</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR54">C front-end miscompiles unsigned enums whose LLVM types are signed</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR123">[X86] div and rem constant exprs invalidate iterators!</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR125">[llvmg++] Enum types are incorrectly shrunk to smaller than 'int' size</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR128">[llvmg++] Cannot use pointer to member to initialize global</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR130">[vmcore] Symbol table doesn't rename colliding variables during type resolution</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR131">[llvm-gcc] ?: operator as lvalue not implemented</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR133">[C/C++] Bogus warning about taking the address of 'register' variable</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR97">bugpoint must not pass -R<directory> to Mach-O linker</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR113">crash assigning into an array in a struct which contains a bitfield</a>.</li>
+<li><a href="http://llvm.cs.uiuc.edu/PR6">Oversized integer bitfields cause crash</a></li>
+
</ol><p>
At this time, LLVM is known to work properly with SPEC CPU 2000, the Olden
</b></font></td></tr></table><ul>
<!-- *********************************************************************** -->
-LLVM has only been extensively tested on Intel and AMD machines running Red
-Hat Linux, and Sun UltraSPARC workstations running Solaris 8.
+LLVM has been extensively tested on Intel and AMD machines running Red
+Hat Linux, and Sun UltraSPARC workstations running Solaris 8. Additionally,
+LLVM works on Mac OS/X 10.3 and above, but only with the C back-end (no native
+backend for the PowerPC is available yet).
The core LLVM infrastructure uses "autoconf" for portability, so hopefully we
-work on more platforms than that. However, it is extremely likely that we
-missed something. We welcome portability patches and error messages.<p>
+work on more platforms than that. However, it is likely that we
+missed something, and that minor porting is required to get LLVM to work on
+new platforms. We welcome portability patches and error messages.<p>
<!-- *********************************************************************** -->
</ul><b>Bugs:</b><ul><p>
-<li><a href="http://llvm.cs.uiuc.edu/PR6">Oversized integer bitfields cause crash</a>.<p>
-
<li>C99 Variable sized arrays do not release stack memory when they go out of
scope. Thus, the following program may run out of stack space:
<pre>
supported</a>. This should not affect LLVM produced by the C or C++
frontends.<p>
-<li><a href="http://llvm.cs.uiuc.edu/PR77">Variables in scope of output setjmp
-calls should be volatile</a>. Note that this does not effect correctness on
-many platforms.<p>
-
<li>The code produces by the C back-end has only been tested with the Sun CC,
GCC, and Intel compilers. It is possible that it will have to be adjusted to
support other C compilers.<p>
Maintained By: <a href="http://llvm.cs.uiuc.edu/">The LLVM Team</a><br>
<!-- Created: Wed Oct 1 17:38:54 CDT 2003 -->
<!-- hhmts start -->
-Last modified: Fri Nov 7 22:26:24 CST 2003
+Last modified: Wed Nov 19 19:06:03 CST 2003
<!-- hhmts end -->
</body></html>