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

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

構文

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

使用法

__promise(expr)assert(expr) に似ていますが補完的なものです。assert(expr) とは異なり、__promise(expr) は、NDEBUG が定義されている場合でも有効です。
アサートが有効である場合(assert.h をインクルードし、NDEBUG を定義しない場合)は、assert(expr) の一部として expr を評価することで、実行時にもさらに保証がチェックされます。
関連する概念
3.19 __promise(expr) によるコンパイラへのループ繰り返し回数の指定
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.