diff options
-rw-r--r-- | docs/FAQ.html | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/docs/FAQ.html b/docs/FAQ.html index bf4a47d..a8f80dd 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -123,7 +123,7 @@ Source Initiative (OSI).</p> <div class="answer"> <p>Yes. The modified source distribution must retain the copyright notice and follow the three bulletted conditions listed in the <a -href="http://llvm.cs.uiuc.edu/releases/1.2/LICENSE.TXT">LLVM license</a>.</p> +href="http://llvm.cs.uiuc.edu/releases/1.3/LICENSE.TXT">LLVM license</a>.</p> </div> <div class="question"> @@ -519,34 +519,33 @@ you can read from and assign to <tt>volatile</tt> global variables. <!--=========================================================================--> -<div class="question"><p> -What is this <tt>llvm.global_ctors</tt> and <tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I #include <iostream>? -</p></div> +<div class="question"> +<p> What is this <tt>llvm.global_ctors</tt> and +<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I #include +<iostream>?</p> +</div> <div class="answer"> -<p> -If you #include the <iostream> header into a C++ translation unit, the + +<p>If you #include the <iostream> header into a C++ translation unit, the file will probably use the <tt>std::cin</tt>/<tt>std::cout</tt>/... global objects. However, C++ does not guarantee an order of initialization between static objects in different translation units, so if a static ctor/dtor in your .cpp file used <tt>std::cout</tt>, for example, the object would not necessarily -be automatically initialized before your use. -</p> +be automatically initialized before your use.</p> -<p> -To make <tt>std::cout</tt> and friends work correctly in these scenarios, the +<p>To make <tt>std::cout</tt> and friends work correctly in these scenarios, the STL that we use declares a static object that gets created in every translation -unit that includes <iostream>. This object has a static constructor and -destructor that initializes and destroys the global iostream objects before they -could possibly be used in the file. The code that you see in the .ll file -corresponds to the constructor and destructor registration code. +unit that includes <tt><iostream></tt>. This object has a static +constructor and destructor that initializes and destroys the global iostream +objects before they could possibly be used in the file. The code that you see +in the .ll file corresponds to the constructor and destructor registration code. </p> -<p> -If you would like to make it easier to <b>understand</b> the LLVM code generated -by the compiler in the demo page, consider using printf instead of iostreams to -print values. -</p> +<p>If you would like to make it easier to <b>understand</b> the LLVM code +generated by the compiler in the demo page, consider using <tt>printf()</tt> +instead of <tt>iostream</tt>s to print values.</p> + </div> <!-- *********************************************************************** --> |