[llvm-commits] [llvm] r43545 - /llvm/trunk/docs/FAQ.html

Chris Lattner sabre at nondot.org
Tue Oct 30 22:53:32 PDT 2007

Author: lattner
Date: Wed Oct 31 00:53:31 2007
New Revision: 43545

URL: http://llvm.org/viewvc/llvm-project?rev=43545&view=rev
__main is dead along with llvm-gcc3.


Modified: llvm/trunk/docs/FAQ.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/FAQ.html?rev=43545&r1=43544&r2=43545&view=diff

--- llvm/trunk/docs/FAQ.html (original)
+++ llvm/trunk/docs/FAQ.html Wed Oct 31 00:53:31 2007
@@ -89,8 +89,6 @@
   <li><a href="#cfe_code">Questions about code generated by the GCC front-end</a>
-     <li><a href="#__main">What is this <tt>__main()</tt> call that gets inserted into
-         <tt>main()</tt>?</a></li>
      <li><a href="#iosinit">What is this <tt>llvm.global_ctors</tt> and
           <tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I
           #include <iostream>?</a></li>
@@ -591,29 +589,6 @@
   <a name="cfe_code">Questions about code generated by the GCC front-end</a>
-<div class="question"><p>
-<a name="__main"></a>
-What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
-<div class="answer">
-The <tt>__main</tt> call is inserted by the C/C++ compiler in order to guarantee
-that static constructors and destructors are called when the program starts up
-and shuts down.  In C, you can create static constructors and destructors by
-using GCC extensions, and in C++ you can do so by creating a global variable
-whose class has a ctor or dtor.
-The actual implementation of <tt>__main</tt> lives in the
-<tt>llvm/runtime/GCCLibraries/crtend/</tt> directory in the source-base, and is
-linked in automatically when you link the program.
 <div class="question">
 <a name="iosinit"></a>
 <p> What is this <tt>llvm.global_ctors</tt> and

More information about the llvm-commits mailing list