GCC: Difference between revisions

No edit summary
Line 21: Line 21:
* <tt>noreturn</tt> (2.5) - marks the function as never normally returning (<tt>longjmp(3)</tt> and exceptions may still be used).
* <tt>noreturn</tt> (2.5) - marks the function as never normally returning (<tt>longjmp(3)</tt> and exceptions may still be used).
* <tt>unused</tt> - a function is (possibly) unused. Calls may still be made to it, but <tt>-Wunused-functions</tt> warnings will not be generated.
* <tt>unused</tt> - a function is (possibly) unused. Calls may still be made to it, but <tt>-Wunused-functions</tt> warnings will not be generated.
===Inline Assembly===
* There's no need to use inline assembly for [[SIMD]]; use [http://gcc.gnu.org/onlinedocs/gcc/Target-Builtins.html#Target-Builtins Target-Specific Builtins] and [http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html#Vector-Extensions Vector Extensions]
* Functions only referenced by inline assembly might not have code generated for them; use of the <tt>used</tt> [[GCC#Function_Attributes|function attribute]] will force generation.


==Intermediate Representations==
==Intermediate Representations==