for instructions with void type we have no choice but print the instruction as
[oota-llvm.git] / docs / FAQ.html
index 3be059891320a23700f34519d7d9c899b6641dda..7e15df21f38c97175e807d4b11d0108e9b772a73 100644 (file)
@@ -74,6 +74,9 @@
 
     <li><a href="#llvmc">The <tt>llvmc</tt> program gives me errors/doesn't
         work.</a></li>
+
+    <li><a href="#srcdir-objdir">When I compile LLVM-GCC with srcdir == objdir,
+        it fails. Why?</a></li>
   </ol></li>
 
   <li><a href="#felangs">Source Languages</a>
@@ -412,8 +415,9 @@ Stop.
    rebuilding.</p>
 </div>
 
-<div class="question"><p><a name="llvmc">
-<p>The <tt>llvmc</tt> program gives me errors/doesn't work.</a></p>
+<div class="question">
+<p><a name="llvmc">The <tt>llvmc</tt> program gives me errors/doesn't
+   work.</a></p>
 </div>
 
 <div class="answer">
@@ -421,6 +425,25 @@ Stop.
    using <tt>llvm-gcc</tt> instead.</p>
 </div>
 
+<div class="question">
+<p><a name="srcdir-objdir">When I compile LLVM-GCC with srcdir == objdir, it
+   fails. Why?</a></p>
+</div>
+
+<div class="answer">
+<p>The <tt>GNUmakefile</tt> in the top-level directory of LLVM-GCC is a special
+   <tt>Makefile</tt> used by Apple to invoke the <tt>build_gcc</tt> script after
+   setting up a special environment. This has the unforunate side-effect that
+   trying to build LLVM-GCC with srcdir == objdir in a "non-Apple way" invokes
+   the <tt>GNUmakefile</tt> instead of <tt>Makefile</tt>. Because the
+   environment isn't set up correctly to do this, the build fails.</p>
+
+<p>People not building LLVM-GCC the "Apple way" need to build LLVM-GCC with
+   srcdir != objdir, or simply remove the GNUmakefile entirely.</p>
+
+<p>We regret the inconvenience.</p>
+</div>
+
 <!-- *********************************************************************** -->
 <div class="doc_section"><a name="felangs">Source Languages</a></div>
 
@@ -677,7 +700,7 @@ Stop.
 
 <p>Another example is <tt>sizeof</tt>. It's common for <tt>sizeof(long)</tt> to
    vary between platforms. In most C front-ends, <tt>sizeof</tt> is expanded to
-   a constant immediately, thus hardwaring a platform-specific detail.</p>
+   a constant immediately, thus hard-wiring a platform-specific detail.</p>
 
 <p>Also, since many platforms define their ABIs in terms of C, and since LLVM is
    lower-level than C, front-ends currently must emit platform-specific IR in
@@ -741,7 +764,7 @@ Stop.
 
 <div class="question">
 <p><a name="undef">What is this "<tt>undef</tt>" thing that shows up in my
-   code?</p>
+   code?</a></p>
 </div>
 
 <div class="answer">