__promise コンパイラ組み込み関数

このコンパイラ組み込み関数は、式の結果が必ずゼロ以外の値になるという、コンパイラに対する保証を表しています。これによってコンパイラ、コードをベクトル化する際に、より積極的な最適化を実行することができます。

Show/hide構文

void __promise(expr)

expr には、ゼロ以外に評価される式を指定します。

Show/hide使用法

__promise(expr)assert() に似ています。ただし assert() と異なり、__promise(expr) は、NDEBUG が定義されている場合でも有効です。

アサートが有効である場合(assert.h をインクルードし、NDEBUG を定義しない場合)は、assert() を使用することで、実行時にもさらに保証がチェックされます。

expr に副作用はなく、評価もされません(ただし、assert.h がインクルードされ、NDEBUG が定義されていない場合を除く)。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711