[llvm-commits] CVS: llvm/docs/ReleaseNotes.html

Chris Lattner sabre at nondot.org
Thu May 17 15:02:51 PDT 2007



Changes in directory llvm/docs:

ReleaseNotes.html updated: 1.379 -> 1.380
---
Log message:

llvm-gcc now supports almost all gcc extensions.  The key missing one is
builtin_apply.


---
Diffs of the changes:  (+27 -62)

 ReleaseNotes.html |   89 ++++++++++++++++--------------------------------------
 1 files changed, 27 insertions(+), 62 deletions(-)


Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.379 llvm/docs/ReleaseNotes.html:1.380
--- llvm/docs/ReleaseNotes.html:1.379	Thu May 17 16:41:31 2007
+++ llvm/docs/ReleaseNotes.html	Thu May 17 17:02:24 2007
@@ -679,8 +679,6 @@
 Optimization</a> on most platforms "out-of-the-box".  Please inquire on the 
 llvmdev mailing list if you are interested.</p>
 
-<p>FIXME: the list of supported stuff below needs to be updated.  We do support
-tls now, what else??</p>
 </div>
 
 <!-- _______________________________________________________________________ -->
@@ -689,85 +687,52 @@
 </div>
 
 <div class="doc_text">
-
 <ul>
 
-<li>"long double" is transformed by the front-end into "double".  There is no
-support for floating point data types of any size other than 32 and 64
-bits.</li>
+<li><p>"long double" is silently transformed by the front-end into "double".  There
+is no support for floating point data types of any size other than 32 and 64
+bits.</p></li>
     
-<li>Although many GCC extensions are supported, some are not.  In particular,
-    the following extensions are known to <b>not be</b> supported:
-  <ol>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Local-Labels.html#Local%20Labels">Local Labels</a>: Labels local to a block.</li>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html#Nested%20Functions">Nested Functions</a>: As in Algol and Pascal, lexical scoping of functions.</li>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Constructing-Calls.html#Constructing%20Calls">Constructing Calls</a>: Dispatching a call to another function.</li>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Thread_002dLocal.html">Thread-Local</a>: Per-thread variables.</li>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Pragmas.html#Pragmas">Pragmas</a>: Pragmas accepted by GCC.</li>
-  </ol>
-
-  <p>The following GCC extensions are <b>partially</b> supported.  An ignored
-  attribute means that the LLVM compiler ignores the presence of the attribute,
-  but the code should still work.  An unsupported attribute is one which is
-  ignored by the LLVM compiler and will cause a different interpretation of
-  the program.</p>
+<li><p>llvm-gcc does <b>not</b> support <tt>__builtin_apply</tt> yet.
+  See <a href="http://gcc.gnu.org/onlinedocs/gcc/Constructing-Calls.html#Constructing%20Calls">Constructing Calls</a>: Dispatching a call to another function.</p>
+</li>
 
+<li><p>llvm-gcc <b>partially</b> supports tthese GCC extensions:</p>
   <ol>
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html#Variable%20Length">Variable Length</a>:
-      Arrays whose length is computed at run time.<br>
-      Supported, but allocated stack space is not freed until the function returns (noted above).</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html#Nested%20Functions">Nested Functions</a>: As in Algol and Pascal, lexical scoping of functions.<br>
+      Nested functions are supported, but llvm-gcc does not support non-local
+      gotos or taking the address of a nested function.</li>
 
   <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#Function%20Attributes">Function Attributes</a>:
 
       Declaring that functions have no side effects or that they can never
       return.<br>
 
-      <b>Supported:</b> <tt>alias</tt>, <tt>constructor</tt>, <tt>destructor</tt>,
+      <b>Supported:</b> <tt>alias</tt>, <tt>always_inline</tt>, <tt>cdecl</tt>,
+      <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>regparm</tt>
       <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> 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>alias</tt>, <tt>cleanup</tt>, <tt>common</tt>,
-      <tt>nocommon</tt>, <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>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>
-      <b>Supported:</b> <tt>transparent_union</tt>, <tt>unused</tt>,
-                        <tt>deprecated</tt>, <tt>may_alias</tt><br>
-
-      <b>Unsupported:</b> <tt>aligned</tt>, <tt>packed</tt>, 
-                        all target specific attributes.</li>
-
-  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#Other%20Builtins">Other Builtins</a>:
-      Other built-in functions.<br>
-      We support all builtins which have a C language equivalent (e.g., 
-         <tt>__builtin_cos</tt>),  <tt>__builtin_alloca</tt>, 
-         <tt>__builtin_types_compatible_p</tt>, <tt>__builtin_choose_expr</tt>,
-         <tt>__builtin_constant_p</tt>, and <tt>__builtin_expect</tt>
-         (currently ignored).  We also support builtins for ISO C99 floating
-         point comparison macros (e.g., <tt>__builtin_islessequal</tt>), 
-         <tt>__builtin_prefetch</tt>, <tt>__builtin_popcount[ll]</tt>,
-         <tt>__builtin_clz[ll]</tt>, and <tt>__builtin_ctz[ll]</tt>.</li>
+      <b>Ignored:</b> <tt>noinline</tt>, <tt>pure</tt>, <tt>const</tt>, <tt>nothrow</tt>,
+      <tt>malloc</tt>, <tt>no_instrument_function</tt></li>
   </ol>
+</li>
 
-  <p>The following extensions <b>are</b> known to be supported:</p>
+<li><p>llvm-gcc supports the vast majority of GCC extensions, including:</p>
 
   <ol>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Pragmas.html#Pragmas">Pragmas</a>: Pragmas accepted by GCC.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Local-Labels.html#Local%20Labels">Local Labels</a>: Labels local to a block.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#Other%20Builtins">Other Builtins</a>:
+      Other built-in functions.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html#Variable%20Attributes">Variable Attributes</a>:
+      Specifying attributes of variables.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html#Type%20Attributes">Type Attributes</a>:	Specifying attributes of types.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Thread_002dLocal.html">Thread-Local</a>: Per-thread variables.</li>
+  <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html#Variable%20Length">Variable Length</a>:
+      Arrays whose length is computed at run time.</li>
   <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html#Labels%20as%20Values">Labels as Values</a>: Getting pointers to labels and computed gotos.</li>
   <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html#Statement%20Exprs">Statement Exprs</a>:   Putting statements and declarations inside expressions.</li>
   <li><a href="http://gcc.gnu.org/onlinedocs/gcc/Typeof.html#Typeof">Typeof</a>: <code>typeof</code>: referring to the type of an expression.</li>
@@ -889,7 +854,7 @@
   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
 
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2007/05/17 21:41:31 $
+  Last modified: $Date: 2007/05/17 22:02:24 $
 </address>
 
 </body>






More information about the llvm-commits mailing list