1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

Updating documentation:

- Document visibility stuff
 - Fix gcc' supported attributes list
 - Document udis86 configure option

llvm-svn: 33462
This commit is contained in:
Anton Korobeynikov 2007-01-23 12:35:46 +00:00
parent 2079992c16
commit 6da3df75ec
3 changed files with 56 additions and 14 deletions

View File

@ -849,6 +849,11 @@ script to configure the build system:</p>
documentation from the source code. This is disabled by default because
generating the documentation can take a long time and producess 100s of
megabytes of output.</dd>
<dt><i>--with-udis86</i></dt>
<dd>LLVM can use external disassembler library for various purposes (now it's
used only for examining code produced by JIT). This option will enable usage
of <a href="http://udis86.sourceforge.net/">udis86</a> x86 (both 32 and 64
bits) disassembler library.</dd>
</dl>
<p>To configure LLVM, follow these steps:</p>

View File

@ -578,6 +578,40 @@ convention.</p>
</div>
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="visibility">Visibility Styles</a>
</div>
<div class="doc_text">
<p>
All Global Variables and Functions have one of the following visibility styles:
</p>
<dl>
<dt><b>"<tt>default</tt>" - Default style</b>:</dt>
<dd>On ELF, default visibility means that the declaration is visible to other
modules and, in shared libraries, means that the declared entity may be
overridden. On Darwin, default visibility means that the declaration is
visible to other modules. Default visibility corresponds to "external
linkage" in the language.
</dd>
<dt><b>"<tt>hidden</tt>" - Hidden style</b>:</dt>
<dd>Two declarations of an object with hidden visibility refer to the same
object if they are in the same shared object. Usually, hidden visibility
indicates that the symbol will not be placed into the dynamic symbol table,
so no other module (executable or shared library) can reference it
directly.
</dd>
</dl>
</div>
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="globalvars">Global Variables</a>
@ -638,14 +672,18 @@ a power of 2.</p>
<p>LLVM function definitions consist of the "<tt>define</tt>" keyord,
an optional <a href="#linkage">linkage type</a>, an optional
<a href="#visibility">visibility style</a>, an optional
<a href="#callingconv">calling convention</a>, a return type, an optional
<a href="#paramattrs">parameter attribute</a> for the return type, a function
name, a (possibly empty) argument list (each with optional
<a href="#paramattrs">parameter attributes</a>), an optional section, an
optional alignment, an opening curly brace, a list of basic blocks, and a
closing curly brace. LLVM function declarations
consist of the "<tt>declare</tt>" keyword, an optional <a
href="#callingconv">calling convention</a>, a return type, an optional
<a href="#paramattrs">parameter attributes</a>), an optional section, an
optional alignment, an opening curly brace, a list of basic blocks, and a
closing curly brace.
LLVM function declarations consist of the "<tt>declare</tt>" keyword, an
optional <a href="#linkage">linkage type</a>, an optional
<a href="#visibility">visibility style</a>, an optional
<a href="#callingconv">calling convention</a>, a return type, an optional
<a href="#paramattrs">parameter attribute</a> for the return type, a function
name, a possibly empty list of arguments, and an optional alignment.</p>

View File

@ -510,27 +510,26 @@ bits.</li>
<b>Supported:</b> <tt>constructor</tt>, <tt>destructor</tt>,
<tt>deprecated</tt>, <tt>fastcall</tt>, <tt>format</tt>,
<tt>format_arg</tt>, <tt>non_null</tt>, <tt>noreturn</tt>,
<tt>stdcall</tt>, <tt>unused</tt>, <tt>used</tt>,
<tt>warn_unused_result</tt>, <tt>weak</tt><br>
<tt>section</tt>, <tt>stdcall</tt>, <tt>unused</tt>, <tt>used</tt>,
<tt>visibility</tt>, <tt>warn_unused_result</tt>, <tt>weak</tt><br>
<b>Ignored:</b> <tt>noinline</tt>,
<tt>always_inline</tt>, <tt>pure</tt>, <tt>const</tt>, <tt>nothrow</tt>,
<tt>malloc</tt>, <tt>no_instrument_function</tt>, <tt>cdecl</tt><br>
<b>Unsupported:</b> <tt>section</tt>, <tt>alias</tt>,
<tt>visibility</tt>, <tt>regparm</tt>, all other target specific
<b>Unsupported:</b> <tt>alias</tt>, <tt>regparm</tt>, all other target specific
attributes</li>
<li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html#Variable%20Attributes">Variable Attributes</a>:
Specifying attributes of variables.<br>
<b>Supported:</b> <tt>cleanup</tt>, <tt>common</tt>, <tt>nocommon</tt>,
<tt>deprecated</tt>, <tt>dllimport</tt>,
<tt>dllexport</tt>, <tt>transparent_union</tt>,
<tt>unused</tt>, <tt>used</tt>, <tt>weak</tt><br>
<tt>deprecated</tt>, <tt>dllimport</tt>, <tt>dllexport</tt>,
<tt>section</tt>, <tt>transparent_union</tt>, <tt>unused</tt>,
<tt>used</tt>, <tt>weak</tt><br>
<b>Unsupported:</b> <tt>aligned</tt>, <tt>mode</tt>, <tt>packed</tt>,
<tt>section</tt>, <tt>shared</tt>, <tt>tls_model</tt>,
<tt>vector_size</tt>, all target specific attributes.
<tt>shared</tt>, <tt>tls_model</tt>,
<tt>vector_size</tt>, all target specific attributes.
</li>
<li><a href="http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html#Type%20Attributes">Type Attributes</a>: Specifying attributes of types.<br>