in facebook-clang-plugins/libtooling/ASTExporter.h [5086:5117]
void ASTExporter<ATDWriter>::VisitBuiltinType(const BuiltinType *T) {
VisitType(T);
std::string type_name;
switch (T->getKind()) {
#define BUILTIN_TYPE(TYPE, ID) \
case BuiltinType::TYPE: { \
type_name = #TYPE; \
break; \
}
#include <clang/AST/BuiltinTypes.def>
#define SVE_PREDICATE_TYPE(Name, MangeldName, Id, SingletonId, NumEls) \
case BuiltinType::Id: { \
type_name = #Id; \
break; \
}
#define SVE_VECTOR_TYPE( \
Name, MangledName, Id, SingletonId, NumEls, ElBits, IsSigned, IsFP, IsBF) \
case BuiltinType::Id: { \
type_name = #Id; \
break; \
}
#include <clang/Basic/AArch64SVEACLETypes.def>
#define IMAGE_TYPE(ImgType, ID, SingletonId, Access, Suffix) \
case BuiltinType::ID:
#include <clang/Basic/OpenCLImageTypes.def>
#define EXT_OPAQUE_TYPE(Name, Id, Ext) case BuiltinType::Id:
#include <clang/Basic/OpenCLExtensionTypes.def>
llvm_unreachable("OCL builtin types are unsupported");
break;
}
OF.emitSimpleVariant(type_name);
}