Hi All,
I have SrcType and DestType used in explicit cast, and I’d like to check if the type conversion is valid in CastOperation::CheckCStyleCast [1]. The code snippet below (just get the idea, the code is not runable),
Builtin *Src = dyn_cast(SrcExpr.get()->getType());
Builtin *Dest = dyn_cast(DestType);
if (Src.getKind() == Dest.getKind()) {
// do something
} else {
// do something else
}
The problem is the SrcType and DestType might be typedef. For example,
typedef foo FOO;
FOO b = (FOO)(a);
Src and Dest might be nullptr due to the fail dyn_cast, and I will get segfault while calling getKind() upon them.
I am not familiar with Clang, so is there a better way that I can get the underlying type if SrcType and DestType
are typedef?
Thanks.
[1] https://clang.llvm.org/doxygen/SemaCast_8cpp_source.html
Regards,
chenwj