2012-10-14 5 views
4

피연산자를 확인하는 방법은 LLVMpointer to pointer 유형입니까? 우리는 피연산자 포인터인지 여부를 확인할 수 있지만 포인터를 가리키는 지 확인하는 방법은 무엇입니까? Clang을 사용하여 중간 코드를 생성하고 소스 파일에 C++을 사용합니다.포인터 유형에 대한 포인터를 LLVM에서 확인하십시오.

답변

8

Type::getContainedType(int)을 호출하여 pointee 유형에 액세스 할 수 있습니다. 따라서 다음과 같이 표시되어야합니다.

bool isPointerToPointer(const Value* V) { 
    const Type* T = V->getType(); 
    return T->isPointerTy() && T->getContainedType(0)->isPointerTy(); 
} 
관련 문제