samedi 17 août 2019

What is result when casting IfStmt::getThen()?

According to the below sample code, normally clang::IfStmt::getThen() result should be b = 2; c = 3;

I want to know how we get results when casting it. :)

void foo(int a, int b, int c) 
{
  if (a > 1) 
  {
      b = 2;
      c += a;
  }
  else
  {
      b = 0;
      c = 0;
  }
}

what happen to it when casting to Exp by llvm::dyn_cast<Expr>(IF->getThen())?

and when casting to BinaryOperator by llvm::dyn_cast<BinaryOperator>(IF->getThen())? what is getOpcode() for this BinaryOperator?

Aucun commentaire:

Enregistrer un commentaire