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== | ||