diff --git a/docs/FAQ.html b/docs/FAQ.html index bf4a47d2106..a8f80dd10fa 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -123,7 +123,7 @@ Source Initiative (OSI).

Yes. The modified source distribution must retain the copyright notice and follow the three bulletted conditions listed in the LLVM license.

+href="http://llvm.cs.uiuc.edu/releases/1.3/LICENSE.TXT">LLVM license.

@@ -519,34 +519,33 @@ you can read from and assign to volatile global variables. -

-What is this llvm.global_ctors and _GLOBAL__I__tmp_webcompile... stuff that happens when I #include <iostream>? -

+
+

What is this llvm.global_ctors and +_GLOBAL__I__tmp_webcompile... stuff that happens when I #include +<iostream>?

+
-

-If you #include the <iostream> header into a C++ translation unit, the + +

If you #include the <iostream> header into a C++ translation unit, the file will probably use the std::cin/std::cout/... 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 std::cout, for example, the object would not necessarily -be automatically initialized before your use. -

+be automatically initialized before your use.

-

-To make std::cout and friends work correctly in these scenarios, the +

To make std::cout 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 <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.

-

-If you would like to make it easier to understand the LLVM code generated -by the compiler in the demo page, consider using printf instead of iostreams to -print values. -

+

If you would like to make it easier to understand the LLVM code +generated by the compiler in the demo page, consider using printf() +instead of iostreams to print values.

+