1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

__main is dead along with llvm-gcc3.

llvm-svn: 43545
This commit is contained in:
Chris Lattner 2007-10-31 05:53:31 +00:00
parent ae0530aaf4
commit 5082217e07

View File

@ -89,8 +89,6 @@
<li><a href="#cfe_code">Questions about code generated by the GCC front-end</a>
<ol>
<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 &lt;iostream&gt;?</a></li>
@ -591,29 +589,6 @@ them.</p>
<a name="cfe_code">Questions about code generated by the GCC front-end</a>
</div>
<div class="question"><p>
<a name="__main"></a>
What is this <tt>__main()</tt> call that gets inserted into <tt>main()</tt>?
</p></div>
<div class="answer">
<p>
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.
</p>
<p>
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.
</p>
</div>
<!--=========================================================================-->
<div class="question">
<a name="iosinit"></a>
<p> What is this <tt>llvm.global_ctors</tt> and