6

オペランドがpointer to pointer入力されていることを確認する方法はLLVM? オペランド ポインターかどうかは確認できますが、ポインターを指しているかどうかはどのように確認すればよいでしょうか。Clang中間コードの生成に使用し、C++ソース ファイルに使用しています。

4

1 に答える 1

10

呼び出しType::getContainedType(int)て、ポインティング型へのアクセスを取得できます。したがって、次のようになります。

bool isPointerToPointer(const Value* V) {
    const Type* T = V->getType();
    return T->isPointerTy() && T->getContainedType(0)->isPointerTy();
}
于 2012-10-18T12:15:05.737 に答える