<li>Read the documentation.</li>
<li>Read the documentation.</li>
<li>Remember that you were warned twice about reading the documentation.</li>
- <li>Install the llvm-gcc4.0 (or llvm-gcc4.2) front end if you intend to compile C or C++:
+ <li>Install the llvm-gcc4.2 front end if you intend to compile C or C++:
<ol>
<li><tt>cd <i>where-you-want-the-C-front-end-to-live</i></tt></li>
<li><tt>gunzip --stdout llvm-gcc.<i>platform</i>.tar.gz | tar -xvf -</tt>
<td>GCC</td>
</tr>
<tr>
- <td>MacOS X<sup><a href="#pf_2">2</a></sup></td>
+ <td>MacOS X<sup><a href="#pf_2">2</a>,<a href="#pf_9">9</a></sup></td>
<td>x86</td>
<td>GCC</td>
future. We highly recommend that you rebuild your current binutils with the
patch from <a href="http://sourceware.org/bugzilla/show_bug.cgi?id=2659">
Binutils bugzilla</a>, if it wasn't already applied.</li>
+<li><a name="pf_9">XCode 2.5 and gcc 4.0.1 (Apple Build 5370) will trip
+ internal LLVM assert messages when compiled for Release at optimization
+ levels greater than 0 (i.e., <i>“-O1”</i> and higher).
+ Add <i>OPTIMIZE_OPTION="-O0"</i> to the build command line
+ if compiling for LLVM Release or bootstrapping the LLVM toolchain.</li>
</ol>
</div>
<p>The GCC front end is not very portable at the moment. If you want to get it
to work on another platform, you can download a copy of the source and <a
-href="CFEBuildInstrs.html">try to compile it</a> on your platform.</p>
+href="GCCFEBuildInstrs.html">try to compile it</a> on your platform.</p>
</div>
problems in the STL that effectively prevent it from compiling LLVM.
</p>
-<p><b>GCC 3.2.2</b>: This version of GCC fails to compile LLVM.</p>
+<p><b>GCC 3.2.2 and 3.2.3</b>: These versions of GCC fails to compile LLVM with
+a bogus template error. This was fixed in later GCCs.</p>
<p><b>GCC 3.3.2</b>: This version of GCC suffered from a <a
href="http://gcc.gnu.org/PR13392">serious bug</a> which causes it to crash in
the "<tt>convert_from_eh_region_ranges_1</tt>" GCC function.</p>
<p><b>Cygwin GCC 3.3.3</b>: The version of GCC 3.3.3 commonly shipped with
- Cygwin does not work. Please <a href="CFEBuildInstrs.html#cygwin">upgrade
+ Cygwin does not work. Please <a href="GCCFEBuildInstrs.html#cygwin">upgrade
to a newer version</a> if possible.</p>
<p><b>SuSE GCC 3.3.3</b>: The version of GCC 3.3.3 shipped with SuSE 9.1 (and
possibly others) does not compile LLVM correctly (it appears that exception
subdirectories of the '<tt>tags</tt>' directory:</p>
<ul>
+<li>Release 2.3: <b>RELEASE_23</b></li>
+<li>Release 2.2: <b>RELEASE_22</b></li>
<li>Release 2.1: <b>RELEASE_21</b></li>
<li>Release 2.0: <b>RELEASE_20</b></li>
<li>Release 1.9: <b>RELEASE_19</b></li>
you run <tt>svn update</tt>.</p>
<p>If you would like to get the GCC front end source code, you can also get it
-and build it yourself. Please follow <a href="CFEBuildInstrs.html">these
+and build it yourself. Please follow <a href="GCCFEBuildInstrs.html">these
instructions</a> to successfully get and build the LLVM GCC front-end.</p>
</div>
<p>Before configuring and compiling the LLVM suite, you can optionally extract the
LLVM GCC front end from the binary distribution. It is used for running the
llvm-test testsuite and for compiling C/C++ programs. Note that you can optionally
-<a href="CFEBuildInstrs.html">build llvm-gcc yourself</a> after building the
+<a href="GCCFEBuildInstrs.html">build llvm-gcc yourself</a> after building the
main LLVM repository.</p>
<p>To install the GCC front end, do the following:</p>
linked with libraries not available on your system.</p>
<p>In cases like these, you may want to try <a
-href="CFEBuildInstrs.html">building the GCC front end from source.</a> This is
+href="GCCFEBuildInstrs.html">building the GCC front end from source.</a> This is
much easier now than it was in the past.</p>
</div>
will fail as these libraries require llvm-gcc and llvm-g++. See
<a href="#installcf">Install the GCC Front End</a> for details on installing
the C/C++ Front End. See
- <a href="CFEBuildInstrs.html">Bootstrapping the LLVM C/C++ Front-End</a>
+ <a href="GCCFEBuildInstrs.html">Bootstrapping the LLVM C/C++ Front-End</a>
for details on building the C/C++ Front End.</dd>
<dt><i>--with-tclinclude</i></dt>
<dd>Path to the tcl include directory under which <tt>tclsh</tt> can be
<dt><tt><b>lli</b></tt></dt>
<dd><tt>lli</tt> is the LLVM interpreter, which
- can directly execute LLVM bitcode (although very slowly...). In addition
- to a simple interpreter, <tt>lli</tt> also has a tracing mode (entered by
- specifying <tt>-trace</tt> on the command line). Finally, for
- architectures that support it (currently x86, Sparc, and PowerPC), by default,
- <tt>lli</tt> will function as a Just-In-Time compiler (if the
- functionality was compiled in), and will execute the code <i>much</i>
- faster than the interpreter.</dd>
+ can directly execute LLVM bitcode (although very slowly...). For architectures
+ that support it (currently x86, Sparc, and PowerPC), by default, <tt>lli</tt>
+ will function as a Just-In-Time compiler (if the functionality was compiled
+ in), and will execute the code <i>much</i> faster than the interpreter.</dd>
<dt><tt><b>llc</b></tt></dt>
<dd> <tt>llc</tt> is the LLVM backend compiler, which