コンパイラには、互換性を保つために次の属性 (__attribute__ ((keyword)) ) が実装されています。属性キーワードを二重下線で囲む記法 __keyword__ も受け入れられます。
名前を、宣言された関数または変数名の別名にします
#pragma align とほぼ同等です。警告を生成し、可変長配列について使用される場合は無視されます。
#pragma inline および -xinline と同義です
#pragma no_side_effect と同等です
#pragma init と同等です
変数または関数がソースファイルの任意の場所で使用される場合は警告になります。オプションの引数 msg は文字列でなければならず、警告メッセージが発行された場合はそのメッセージに含まれます。
#pragma fini と同等です
#pragma returns_new_memory と同等です
#pragma no_inline および -xinline と同義です
#pragma does_not_return と同義です
#pragma does_not_write_global_data と同等です
#pragma pack() と同等です
#pragma unknown_control_flow と同等です
変数または (typedef を使用して作成された) 型の名前がベクトルを表していることを示します。
リンカースコープ指定子で説明されているように、リンカースコープを提供します。構文: __attribute__((visibility(“ visibility-type”)))。ここで、visibility-type は次のいずれかです。
__global リンカースコープと同じです
__hidden リンカースコープと同じです
__symbolic リンカースコープと同じです
#pragma weak と同等です