reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/TypeNodes.inc
   27 TYPE(Builtin, Type)

References

include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  331                             typename cast_retty<X, const Y>::ret_type>::type
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
tools/clang/include/clang/AST/ASTContext.h
 2897   void InitBuiltinType(CanQualType &R, BuiltinType::Kind K);
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  479     : public DynCastPtrConverter<T, Type> {};
tools/clang/include/clang/AST/Expr.h
  486   bool hasPlaceholderType(BuiltinType::Kind K) const {
  488     if (const BuiltinType *BT = dyn_cast<BuiltinType>(getType()))
  488     if (const BuiltinType *BT = dyn_cast<BuiltinType>(getType()))
tools/clang/include/clang/AST/Type.h
 1934   const BuiltinType *getAsPlaceholderType() const;
 5680     return getBaseType()->isSpecificBuiltinType(BuiltinType::ObjCId);
 5684     return getBaseType()->isSpecificBuiltinType(BuiltinType::ObjCClass);
 5691     if (const BuiltinType *T = getBaseType()->getAs<BuiltinType>())
 5691     if (const BuiltinType *T = getBaseType()->getAs<BuiltinType>())
 5692       return T->getKind() == BuiltinType::ObjCId ||
 5693              T->getKind() == BuiltinType::ObjCClass;
 6468   return isa<BuiltinType>(CanonicalType);
 6538     return OPT->getPointeeType()->isSpecificBuiltinType(BuiltinType::ObjCSel);
 6557   return isSpecificBuiltinType(BuiltinType::OCLSampler);
 6561   return isSpecificBuiltinType(BuiltinType::OCLEvent);
 6565   return isSpecificBuiltinType(BuiltinType::OCLClkEvent);
 6569   return isSpecificBuiltinType(BuiltinType::OCLQueue);
 6573   return isSpecificBuiltinType(BuiltinType::OCLReserveID);
 6618   if (const BuiltinType *BT = getAs<BuiltinType>())
 6618   if (const BuiltinType *BT = getAs<BuiltinType>())
 6625   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6625   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6630 inline const BuiltinType *Type::getAsPlaceholderType() const {
 6631   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6631   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6639   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6639   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6645   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6645   if (const auto *BT = dyn_cast<BuiltinType>(this))
 6651   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6651   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6652     return BT->getKind() == BuiltinType::Void;
 6657   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6657   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6658     return BT->getKind() == BuiltinType::Half;
 6664   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6664   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6665     return BT->getKind() == BuiltinType::Float16;
 6670   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6670   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6671     return BT->getKind() == BuiltinType::Float128;
 6676   if (const auto *BT = getAs<BuiltinType>())
 6676   if (const auto *BT = getAs<BuiltinType>())
 6677     return BT->getKind() == BuiltinType::NullPtr;
 6685   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6685   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6686     return BT->getKind() >= BuiltinType::Bool &&
 6687            BT->getKind() <= BuiltinType::Int128;
 6698   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6698   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6699     return BT->getKind() >= BuiltinType::ShortAccum &&
 6700            BT->getKind() <= BuiltinType::SatULongFract;
 6710   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6710   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6711     return BT->getKind() >= BuiltinType::SatShortAccum &&
 6712            BT->getKind() <= BuiltinType::SatULongFract;
 6722   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6722   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 6723     return ((BT->getKind() >= BuiltinType::ShortAccum &&
 6724              BT->getKind() <= BuiltinType::LongAccum) ||
 6725             (BT->getKind() >= BuiltinType::ShortFract &&
 6726              BT->getKind() <= BuiltinType::LongFract) ||
 6727             (BT->getKind() >= BuiltinType::SatShortAccum &&
 6728              BT->getKind() <= BuiltinType::SatLongAccum) ||
 6729             (BT->getKind() >= BuiltinType::SatShortFract &&
 6730              BT->getKind() <= BuiltinType::SatLongFract));
 6740   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6740   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6741     return BT->getKind() > BuiltinType::Void &&
 6742            BT->getKind() <= BuiltinType::NullPtr;
 6755   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6755   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6756     return BT->getKind() >= BuiltinType::Bool &&
 6757            BT->getKind() <= BuiltinType::Int128;
 6768   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6768   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 6769     return BT->getKind() == BuiltinType::Bool;
tools/clang/include/clang/AST/TypeLoc.h
  370     return TypeClass::classof(Ty);
  405   const TypeClass *getTypePtr() const {
  406     return cast<TypeClass>(Base::getTypePtr());
  548                                               BuiltinType,
  579     BuiltinType::Kind bk = getTypePtr()->getKind();
  580     return (bk >= BuiltinType::UShort && bk <= BuiltinType::UInt128)
  580     return (bk >= BuiltinType::UShort && bk <= BuiltinType::UInt128)
  581       || (bk >= BuiltinType::Short && bk <= BuiltinType::Float128)
  581       || (bk >= BuiltinType::Short && bk <= BuiltinType::Float128)
  582       || bk == BuiltinType::UChar
  583       || bk == BuiltinType::SChar;
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 5365 extern const AstTypeMatcher<BuiltinType> builtinType;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
  260     if ((Ty->isSpecificBuiltinType(BuiltinType::LongDouble) &&
tools/clang/lib/AST/ASTContext.cpp
 1189 void ASTContext::InitBuiltinType(CanQualType &R, BuiltinType::Kind K) {
 1190   auto *Ty = new (*this, TypeAlignment) BuiltinType(K);
 1190   auto *Ty = new (*this, TypeAlignment) BuiltinType(K);
 1209   InitBuiltinType(VoidTy,              BuiltinType::Void);
 1212   InitBuiltinType(BoolTy,              BuiltinType::Bool);
 1215     InitBuiltinType(CharTy,            BuiltinType::Char_S);
 1217     InitBuiltinType(CharTy,            BuiltinType::Char_U);
 1219   InitBuiltinType(SignedCharTy,        BuiltinType::SChar);
 1220   InitBuiltinType(ShortTy,             BuiltinType::Short);
 1221   InitBuiltinType(IntTy,               BuiltinType::Int);
 1222   InitBuiltinType(LongTy,              BuiltinType::Long);
 1223   InitBuiltinType(LongLongTy,          BuiltinType::LongLong);
 1226   InitBuiltinType(UnsignedCharTy,      BuiltinType::UChar);
 1227   InitBuiltinType(UnsignedShortTy,     BuiltinType::UShort);
 1228   InitBuiltinType(UnsignedIntTy,       BuiltinType::UInt);
 1229   InitBuiltinType(UnsignedLongTy,      BuiltinType::ULong);
 1230   InitBuiltinType(UnsignedLongLongTy,  BuiltinType::ULongLong);
 1233   InitBuiltinType(FloatTy,             BuiltinType::Float);
 1234   InitBuiltinType(DoubleTy,            BuiltinType::Double);
 1235   InitBuiltinType(LongDoubleTy,        BuiltinType::LongDouble);
 1238   InitBuiltinType(Float128Ty,          BuiltinType::Float128);
 1241   InitBuiltinType(Float16Ty,           BuiltinType::Float16);
 1244   InitBuiltinType(ShortAccumTy,            BuiltinType::ShortAccum);
 1245   InitBuiltinType(AccumTy,                 BuiltinType::Accum);
 1246   InitBuiltinType(LongAccumTy,             BuiltinType::LongAccum);
 1247   InitBuiltinType(UnsignedShortAccumTy,    BuiltinType::UShortAccum);
 1248   InitBuiltinType(UnsignedAccumTy,         BuiltinType::UAccum);
 1249   InitBuiltinType(UnsignedLongAccumTy,     BuiltinType::ULongAccum);
 1250   InitBuiltinType(ShortFractTy,            BuiltinType::ShortFract);
 1251   InitBuiltinType(FractTy,                 BuiltinType::Fract);
 1252   InitBuiltinType(LongFractTy,             BuiltinType::LongFract);
 1253   InitBuiltinType(UnsignedShortFractTy,    BuiltinType::UShortFract);
 1254   InitBuiltinType(UnsignedFractTy,         BuiltinType::UFract);
 1255   InitBuiltinType(UnsignedLongFractTy,     BuiltinType::ULongFract);
 1256   InitBuiltinType(SatShortAccumTy,         BuiltinType::SatShortAccum);
 1257   InitBuiltinType(SatAccumTy,              BuiltinType::SatAccum);
 1258   InitBuiltinType(SatLongAccumTy,          BuiltinType::SatLongAccum);
 1259   InitBuiltinType(SatUnsignedShortAccumTy, BuiltinType::SatUShortAccum);
 1260   InitBuiltinType(SatUnsignedAccumTy,      BuiltinType::SatUAccum);
 1261   InitBuiltinType(SatUnsignedLongAccumTy,  BuiltinType::SatULongAccum);
 1262   InitBuiltinType(SatShortFractTy,         BuiltinType::SatShortFract);
 1263   InitBuiltinType(SatFractTy,              BuiltinType::SatFract);
 1264   InitBuiltinType(SatLongFractTy,          BuiltinType::SatLongFract);
 1265   InitBuiltinType(SatUnsignedShortFractTy, BuiltinType::SatUShortFract);
 1266   InitBuiltinType(SatUnsignedFractTy,      BuiltinType::SatUFract);
 1267   InitBuiltinType(SatUnsignedLongFractTy,  BuiltinType::SatULongFract);
 1270   InitBuiltinType(Int128Ty,            BuiltinType::Int128);
 1271   InitBuiltinType(UnsignedInt128Ty,    BuiltinType::UInt128);
 1275     InitBuiltinType(WCharTy,           BuiltinType::WChar_S);
 1277     InitBuiltinType(WCharTy,           BuiltinType::WChar_U);
 1288   InitBuiltinType(Char8Ty,              BuiltinType::Char8);
 1291     InitBuiltinType(Char16Ty,           BuiltinType::Char16);
 1296     InitBuiltinType(Char32Ty,           BuiltinType::Char32);
 1305   InitBuiltinType(DependentTy,         BuiltinType::Dependent);
 1308   InitBuiltinType(OverloadTy,          BuiltinType::Overload);
 1311   InitBuiltinType(BoundMemberTy,       BuiltinType::BoundMember);
 1314   InitBuiltinType(PseudoObjectTy,      BuiltinType::PseudoObject);
 1317   InitBuiltinType(UnknownAnyTy,        BuiltinType::UnknownAny);
 1320   InitBuiltinType(ARCUnbridgedCastTy,  BuiltinType::ARCUnbridgedCast);
 1323   InitBuiltinType(BuiltinFnTy,  BuiltinType::BuiltinFn);
 1327     InitBuiltinType(OMPArraySectionTy, BuiltinType::OMPArraySection);
 1336   InitBuiltinType(ObjCBuiltinIdTy, BuiltinType::ObjCId);
 1337   InitBuiltinType(ObjCBuiltinClassTy, BuiltinType::ObjCClass);
 1338   InitBuiltinType(ObjCBuiltinSelTy, BuiltinType::ObjCSel);
 1345     InitBuiltinType(OCLSamplerTy, BuiltinType::OCLSampler);
 1346     InitBuiltinType(OCLEventTy, BuiltinType::OCLEvent);
 1347     InitBuiltinType(OCLClkEventTy, BuiltinType::OCLClkEvent);
 1348     InitBuiltinType(OCLQueueTy, BuiltinType::OCLQueue);
 1349     InitBuiltinType(OCLReserveIDTy, BuiltinType::OCLReserveID);
 1381   InitBuiltinType(NullPtrTy,           BuiltinType::NullPtr);
 1384   InitBuiltinType(HalfTy, BuiltinType::Half);
 1579   switch (T->castAs<BuiltinType>()->getKind()) {
 1582   case BuiltinType::Float16:
 1583   case BuiltinType::Half:
 1585   case BuiltinType::Float:      return Target->getFloatFormat();
 1586   case BuiltinType::Double:     return Target->getDoubleFormat();
 1587   case BuiltinType::LongDouble:
 1591   case BuiltinType::Float128:
 1862     switch (cast<BuiltinType>(T)->getKind()) {
 1864     case BuiltinType::Void:
 1869     case BuiltinType::Bool:
 1873     case BuiltinType::Char_S:
 1874     case BuiltinType::Char_U:
 1875     case BuiltinType::UChar:
 1876     case BuiltinType::SChar:
 1877     case BuiltinType::Char8:
 1881     case BuiltinType::WChar_S:
 1882     case BuiltinType::WChar_U:
 1886     case BuiltinType::Char16:
 1890     case BuiltinType::Char32:
 1894     case BuiltinType::UShort:
 1895     case BuiltinType::Short:
 1899     case BuiltinType::UInt:
 1900     case BuiltinType::Int:
 1904     case BuiltinType::ULong:
 1905     case BuiltinType::Long:
 1909     case BuiltinType::ULongLong:
 1910     case BuiltinType::LongLong:
 1914     case BuiltinType::Int128:
 1915     case BuiltinType::UInt128:
 1919     case BuiltinType::ShortAccum:
 1920     case BuiltinType::UShortAccum:
 1921     case BuiltinType::SatShortAccum:
 1922     case BuiltinType::SatUShortAccum:
 1926     case BuiltinType::Accum:
 1927     case BuiltinType::UAccum:
 1928     case BuiltinType::SatAccum:
 1929     case BuiltinType::SatUAccum:
 1933     case BuiltinType::LongAccum:
 1934     case BuiltinType::ULongAccum:
 1935     case BuiltinType::SatLongAccum:
 1936     case BuiltinType::SatULongAccum:
 1940     case BuiltinType::ShortFract:
 1941     case BuiltinType::UShortFract:
 1942     case BuiltinType::SatShortFract:
 1943     case BuiltinType::SatUShortFract:
 1947     case BuiltinType::Fract:
 1948     case BuiltinType::UFract:
 1949     case BuiltinType::SatFract:
 1950     case BuiltinType::SatUFract:
 1954     case BuiltinType::LongFract:
 1955     case BuiltinType::ULongFract:
 1956     case BuiltinType::SatLongFract:
 1957     case BuiltinType::SatULongFract:
 1961     case BuiltinType::Float16:
 1962     case BuiltinType::Half:
 1974     case BuiltinType::Float:
 1978     case BuiltinType::Double:
 1982     case BuiltinType::LongDouble:
 1993     case BuiltinType::Float128:
 2005     case BuiltinType::NullPtr:
 2009     case BuiltinType::ObjCId:
 2010     case BuiltinType::ObjCClass:
 2011     case BuiltinType::ObjCSel:
 2015     case BuiltinType::OCLSampler:
 2016     case BuiltinType::OCLEvent:
 2017     case BuiltinType::OCLClkEvent:
 2018     case BuiltinType::OCLQueue:
 2019     case BuiltinType::OCLReserveID:
 2240       T->isSpecificBuiltinType(BuiltinType::Double))
 2305   if (T->isSpecificBuiltinType(BuiltinType::Double) ||
 2306       T->isSpecificBuiltinType(BuiltinType::LongLong) ||
 2307       T->isSpecificBuiltinType(BuiltinType::ULongLong))
 5690   switch (T->castAs<BuiltinType>()->getKind()) {
 5692   case BuiltinType::Float16:    return Float16Rank;
 5693   case BuiltinType::Half:       return HalfRank;
 5694   case BuiltinType::Float:      return FloatRank;
 5695   case BuiltinType::Double:     return DoubleRank;
 5696   case BuiltinType::LongDouble: return LongDoubleRank;
 5697   case BuiltinType::Float128:   return Float128Rank;
 5758   switch (cast<BuiltinType>(T)->getKind()) {
 5760   case BuiltinType::Bool:
 5762   case BuiltinType::Char_S:
 5763   case BuiltinType::Char_U:
 5764   case BuiltinType::SChar:
 5765   case BuiltinType::UChar:
 5767   case BuiltinType::Short:
 5768   case BuiltinType::UShort:
 5770   case BuiltinType::Int:
 5771   case BuiltinType::UInt:
 5773   case BuiltinType::Long:
 5774   case BuiltinType::ULong:
 5776   case BuiltinType::LongLong:
 5777   case BuiltinType::ULongLong:
 5779   case BuiltinType::Int128:
 5780   case BuiltinType::UInt128:
 5851   if (const auto *BT = Promotable->getAs<BuiltinType>()) {
 5851   if (const auto *BT = Promotable->getAs<BuiltinType>()) {
 5858     if (BT->getKind() == BuiltinType::WChar_S ||
 5859         BT->getKind() == BuiltinType::WChar_U ||
 5860         BT->getKind() == BuiltinType::Char8 ||
 5861         BT->getKind() == BuiltinType::Char16 ||
 5862         BT->getKind() == BuiltinType::Char32) {
 5863       bool FromIsSigned = BT->getKind() == BuiltinType::WChar_S;
 6149   const auto *BT = dyn_cast<BuiltinType>(T);
 6149   const auto *BT = dyn_cast<BuiltinType>(T);
 6164   case BuiltinType::OCLClkEvent:
 6167   case BuiltinType::OCLEvent:
 6170   case BuiltinType::OCLQueue:
 6173   case BuiltinType::OCLReserveID:
 6176   case BuiltinType::OCLSampler:
 6605     if (const auto *BT = PointeeTy->getAs<BuiltinType>()) {
 6605     if (const auto *BT = PointeeTy->getAs<BuiltinType>()) {
 6606       if (BT->getKind() == BuiltinType::ULong && getIntWidth(PointeeTy) == 32)
 6609         if (BT->getKind() == BuiltinType::Long && getIntWidth(PointeeTy) == 32)
 6645                                             const BuiltinType *BT) {
 6646     BuiltinType::Kind kind = BT->getKind();
 6648     case BuiltinType::Void:       return 'v';
 6649     case BuiltinType::Bool:       return 'B';
 6650     case BuiltinType::Char8:
 6651     case BuiltinType::Char_U:
 6652     case BuiltinType::UChar:      return 'C';
 6653     case BuiltinType::Char16:
 6654     case BuiltinType::UShort:     return 'S';
 6655     case BuiltinType::Char32:
 6656     case BuiltinType::UInt:       return 'I';
 6657     case BuiltinType::ULong:
 6659     case BuiltinType::UInt128:    return 'T';
 6660     case BuiltinType::ULongLong:  return 'Q';
 6661     case BuiltinType::Char_S:
 6662     case BuiltinType::SChar:      return 'c';
 6663     case BuiltinType::Short:      return 's';
 6664     case BuiltinType::WChar_S:
 6665     case BuiltinType::WChar_U:
 6666     case BuiltinType::Int:        return 'i';
 6667     case BuiltinType::Long:
 6669     case BuiltinType::LongLong:   return 'q';
 6670     case BuiltinType::Int128:     return 't';
 6671     case BuiltinType::Float:      return 'f';
 6672     case BuiltinType::Double:     return 'd';
 6673     case BuiltinType::LongDouble: return 'D';
 6674     case BuiltinType::NullPtr:    return '*'; // like char*
 6676     case BuiltinType::Float16:
 6677     case BuiltinType::Float128:
 6678     case BuiltinType::Half:
 6679     case BuiltinType::ShortAccum:
 6680     case BuiltinType::Accum:
 6681     case BuiltinType::LongAccum:
 6682     case BuiltinType::UShortAccum:
 6683     case BuiltinType::UAccum:
 6684     case BuiltinType::ULongAccum:
 6685     case BuiltinType::ShortFract:
 6686     case BuiltinType::Fract:
 6687     case BuiltinType::LongFract:
 6688     case BuiltinType::UShortFract:
 6689     case BuiltinType::UFract:
 6690     case BuiltinType::ULongFract:
 6691     case BuiltinType::SatShortAccum:
 6692     case BuiltinType::SatAccum:
 6693     case BuiltinType::SatLongAccum:
 6694     case BuiltinType::SatUShortAccum:
 6695     case BuiltinType::SatUAccum:
 6696     case BuiltinType::SatULongAccum:
 6697     case BuiltinType::SatShortFract:
 6698     case BuiltinType::SatFract:
 6699     case BuiltinType::SatLongFract:
 6700     case BuiltinType::SatUShortFract:
 6701     case BuiltinType::SatUFract:
 6702     case BuiltinType::SatULongFract:
 6717     case BuiltinType::ObjCId:
 6718     case BuiltinType::ObjCClass:
 6719     case BuiltinType::ObjCSel:
 6729     case BuiltinType::OCLEvent:
 6730     case BuiltinType::OCLClkEvent:
 6731     case BuiltinType::OCLQueue:
 6732     case BuiltinType::OCLReserveID:
 6733     case BuiltinType::OCLSampler:
 6734     case BuiltinType::Dependent:
 6752   const auto *BT = Enum->getIntegerType()->castAs<BuiltinType>();
 6752   const auto *BT = Enum->getIntegerType()->castAs<BuiltinType>();
 6792       const auto *BT = T->castAs<BuiltinType>();
 6792       const auto *BT = T->castAs<BuiltinType>();
 6810     if (const auto *BT = dyn_cast<BuiltinType>(CT))
 6810     if (const auto *BT = dyn_cast<BuiltinType>(CT))
 9321   switch (T->castAs<BuiltinType>()->getKind()) {
 9322   case BuiltinType::Char_S:
 9323   case BuiltinType::SChar:
 9325   case BuiltinType::Short:
 9327   case BuiltinType::Int:
 9329   case BuiltinType::Long:
 9331   case BuiltinType::LongLong:
 9333   case BuiltinType::Int128:
 9336   case BuiltinType::ShortAccum:
 9338   case BuiltinType::Accum:
 9340   case BuiltinType::LongAccum:
 9342   case BuiltinType::SatShortAccum:
 9344   case BuiltinType::SatAccum:
 9346   case BuiltinType::SatLongAccum:
 9348   case BuiltinType::ShortFract:
 9350   case BuiltinType::Fract:
 9352   case BuiltinType::LongFract:
 9354   case BuiltinType::SatShortFract:
 9356   case BuiltinType::SatFract:
 9358   case BuiltinType::SatLongFract:
10572   switch (Ty->castAs<BuiltinType>()->getKind()) {
10575     case BuiltinType::ShortAccum:
10577     case BuiltinType::Accum:
10579     case BuiltinType::LongAccum:
10581     case BuiltinType::UShortAccum:
10583     case BuiltinType::UAccum:
10585     case BuiltinType::ULongAccum:
10587     case BuiltinType::ShortFract:
10589     case BuiltinType::Fract:
10591     case BuiltinType::LongFract:
10593     case BuiltinType::UShortFract:
10595     case BuiltinType::UFract:
10597     case BuiltinType::ULongFract:
10625   switch (Ty->castAs<BuiltinType>()->getKind()) {
10628     case BuiltinType::ShortAccum:
10629     case BuiltinType::SatShortAccum:
10631     case BuiltinType::Accum:
10632     case BuiltinType::SatAccum:
10634     case BuiltinType::LongAccum:
10635     case BuiltinType::SatLongAccum:
10637     case BuiltinType::UShortAccum:
10638     case BuiltinType::SatUShortAccum:
10640     case BuiltinType::UAccum:
10641     case BuiltinType::SatUAccum:
10643     case BuiltinType::ULongAccum:
10644     case BuiltinType::SatULongAccum:
10646     case BuiltinType::ShortFract:
10647     case BuiltinType::SatShortFract:
10649     case BuiltinType::Fract:
10650     case BuiltinType::SatFract:
10652     case BuiltinType::LongFract:
10653     case BuiltinType::SatLongFract:
10655     case BuiltinType::UShortFract:
10656     case BuiltinType::SatUShortFract:
10658     case BuiltinType::UFract:
10659     case BuiltinType::SatUFract:
10661     case BuiltinType::ULongFract:
10662     case BuiltinType::SatULongFract:
10671   switch (Ty->castAs<BuiltinType>()->getKind()) {
10674     case BuiltinType::ShortAccum:
10675     case BuiltinType::SatShortAccum:
10677     case BuiltinType::Accum:
10678     case BuiltinType::SatAccum:
10680     case BuiltinType::LongAccum:
10681     case BuiltinType::SatLongAccum:
10683     case BuiltinType::UShortAccum:
10684     case BuiltinType::SatUShortAccum:
10686     case BuiltinType::UAccum:
10687     case BuiltinType::SatUAccum:
10689     case BuiltinType::ULongAccum:
10690     case BuiltinType::SatULongAccum:
10692     case BuiltinType::ShortFract:
10693     case BuiltinType::SatShortFract:
10694     case BuiltinType::Fract:
10695     case BuiltinType::SatFract:
10696     case BuiltinType::LongFract:
10697     case BuiltinType::SatLongFract:
10698     case BuiltinType::UShortFract:
10699     case BuiltinType::SatUShortFract:
10700     case BuiltinType::UFract:
10701     case BuiltinType::SatUFract:
10702     case BuiltinType::ULongFract:
10703     case BuiltinType::SatULongFract:
10737   switch (Ty->castAs<BuiltinType>()->getKind()) {
10738   case BuiltinType::UShortAccum:
10740   case BuiltinType::UAccum:
10742   case BuiltinType::ULongAccum:
10744   case BuiltinType::SatUShortAccum:
10746   case BuiltinType::SatUAccum:
10748   case BuiltinType::SatULongAccum:
10750   case BuiltinType::UShortFract:
10752   case BuiltinType::UFract:
10754   case BuiltinType::ULongFract:
10756   case BuiltinType::SatUShortFract:
10758   case BuiltinType::SatUFract:
10760   case BuiltinType::SatULongFract:
tools/clang/lib/AST/ASTImporter.cpp
  310     ExpectedType VisitBuiltinType(const BuiltinType *T);
  978 ExpectedType ASTNodeImporter::VisitBuiltinType(const BuiltinType *T) {
 1003   case BuiltinType::Char_U:
 1012   case BuiltinType::Char_S:
 1021   case BuiltinType::WChar_S:
 1022   case BuiltinType::WChar_U:
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  471     if (cast<BuiltinType>(T1)->getKind() != cast<BuiltinType>(T2)->getKind())
  471     if (cast<BuiltinType>(T1)->getKind() != cast<BuiltinType>(T2)->getKind())
tools/clang/lib/AST/Expr.cpp
 1503   } else if (CalleeType->isSpecificPlaceholderType(BuiltinType::BoundMember)) {
tools/clang/lib/AST/ExprClassification.cpp
  557             E->hasPlaceholderType(BuiltinType::BoundMember))
  565             E->hasPlaceholderType(BuiltinType::BoundMember))
tools/clang/lib/AST/ExprConstant.cpp
 6346   Optional<APValue> visit(const BuiltinType *T, CharUnits Offset,
 6362           !EnumSugar && (T->isSpecificBuiltinType(BuiltinType::UChar) ||
 6363                          T->isSpecificBuiltinType(BuiltinType::Char_U));
 6452     const auto *AsBuiltin =
 6453         RepresentationType.getCanonicalType()->castAs<BuiltinType>();
 6852     if (CalleeType->isSpecificBuiltinType(BuiltinType::BoundMember)) {
 9958   const BuiltinType *BT = dyn_cast<BuiltinType>(CanTy);
 9958   const BuiltinType *BT = dyn_cast<BuiltinType>(CanTy);
 9980     case BuiltinType::Void:
 9983     case BuiltinType::Bool:
 9986     case BuiltinType::Char_U:
 9987     case BuiltinType::UChar:
 9988     case BuiltinType::WChar_U:
 9989     case BuiltinType::Char8:
 9990     case BuiltinType::Char16:
 9991     case BuiltinType::Char32:
 9992     case BuiltinType::UShort:
 9993     case BuiltinType::UInt:
 9994     case BuiltinType::ULong:
 9995     case BuiltinType::ULongLong:
 9996     case BuiltinType::UInt128:
 9999     case BuiltinType::UShortAccum:
10000     case BuiltinType::UAccum:
10001     case BuiltinType::ULongAccum:
10002     case BuiltinType::UShortFract:
10003     case BuiltinType::UFract:
10004     case BuiltinType::ULongFract:
10005     case BuiltinType::SatUShortAccum:
10006     case BuiltinType::SatUAccum:
10007     case BuiltinType::SatULongAccum:
10008     case BuiltinType::SatUShortFract:
10009     case BuiltinType::SatUFract:
10010     case BuiltinType::SatULongFract:
10013     case BuiltinType::NullPtr:
10015     case BuiltinType::ObjCId:
10016     case BuiltinType::ObjCClass:
10017     case BuiltinType::ObjCSel:
10024     case BuiltinType::OCLSampler:
10025     case BuiltinType::OCLEvent:
10026     case BuiltinType::OCLClkEvent:
10027     case BuiltinType::OCLQueue:
10028     case BuiltinType::OCLReserveID:
10034     case BuiltinType::Dependent:
tools/clang/lib/AST/FormatString.cpp
  354       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  354       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  358           case BuiltinType::Char_S:
  359           case BuiltinType::SChar:
  360           case BuiltinType::UChar:
  361           case BuiltinType::Char_U:
  362           case BuiltinType::Bool:
  382       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  382       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  386           case BuiltinType::Char_S:
  387           case BuiltinType::SChar:
  388           case BuiltinType::Char_U:
  389           case BuiltinType::UChar:
  390           case BuiltinType::Bool:
  395           case BuiltinType::Short:
  397           case BuiltinType::UShort:
  399           case BuiltinType::Int:
  401           case BuiltinType::UInt:
  403           case BuiltinType::Long:
  405           case BuiltinType::ULong:
  407           case BuiltinType::LongLong:
  409           case BuiltinType::ULongLong:
  420       if (const BuiltinType *BT = pointeeTy->getAs<BuiltinType>())
  420       if (const BuiltinType *BT = pointeeTy->getAs<BuiltinType>())
  422           case BuiltinType::Void:
  423           case BuiltinType::Char_U:
  424           case BuiltinType::UChar:
  425           case BuiltinType::Char_S:
  426           case BuiltinType::SChar:
tools/clang/lib/AST/ItaniumMangle.cpp
 2392   if (Ty->isSpecificBuiltinType(BuiltinType::ObjCSel))
 2516 void CXXNameMangler::mangleType(const BuiltinType *T) {
 2549   case BuiltinType::Void:
 2552   case BuiltinType::Bool:
 2555   case BuiltinType::Char_U:
 2556   case BuiltinType::Char_S:
 2559   case BuiltinType::UChar:
 2562   case BuiltinType::UShort:
 2565   case BuiltinType::UInt:
 2568   case BuiltinType::ULong:
 2571   case BuiltinType::ULongLong:
 2574   case BuiltinType::UInt128:
 2577   case BuiltinType::SChar:
 2580   case BuiltinType::WChar_S:
 2581   case BuiltinType::WChar_U:
 2584   case BuiltinType::Char8:
 2587   case BuiltinType::Char16:
 2590   case BuiltinType::Char32:
 2593   case BuiltinType::Short:
 2596   case BuiltinType::Int:
 2599   case BuiltinType::Long:
 2602   case BuiltinType::LongLong:
 2605   case BuiltinType::Int128:
 2608   case BuiltinType::Float16:
 2611   case BuiltinType::ShortAccum:
 2612   case BuiltinType::Accum:
 2613   case BuiltinType::LongAccum:
 2614   case BuiltinType::UShortAccum:
 2615   case BuiltinType::UAccum:
 2616   case BuiltinType::ULongAccum:
 2617   case BuiltinType::ShortFract:
 2618   case BuiltinType::Fract:
 2619   case BuiltinType::LongFract:
 2620   case BuiltinType::UShortFract:
 2621   case BuiltinType::UFract:
 2622   case BuiltinType::ULongFract:
 2623   case BuiltinType::SatShortAccum:
 2624   case BuiltinType::SatAccum:
 2625   case BuiltinType::SatLongAccum:
 2626   case BuiltinType::SatUShortAccum:
 2627   case BuiltinType::SatUAccum:
 2628   case BuiltinType::SatULongAccum:
 2629   case BuiltinType::SatShortFract:
 2630   case BuiltinType::SatFract:
 2631   case BuiltinType::SatLongFract:
 2632   case BuiltinType::SatUShortFract:
 2633   case BuiltinType::SatUFract:
 2634   case BuiltinType::SatULongFract:
 2636   case BuiltinType::Half:
 2639   case BuiltinType::Float:
 2642   case BuiltinType::Double:
 2645   case BuiltinType::LongDouble: {
 2653   case BuiltinType::Float128: {
 2661   case BuiltinType::NullPtr:
 2669   case BuiltinType::Dependent:
 2673   case BuiltinType::ObjCId:
 2676   case BuiltinType::ObjCClass:
 2679   case BuiltinType::ObjCSel:
 2688   case BuiltinType::OCLSampler:
 2691   case BuiltinType::OCLEvent:
 2694   case BuiltinType::OCLClkEvent:
 2697   case BuiltinType::OCLQueue:
 2700   case BuiltinType::OCLReserveID:
 3050     switch (cast<BuiltinType>(EltType)->getKind()) {
 3051     case BuiltinType::SChar:
 3052     case BuiltinType::UChar:
 3055     case BuiltinType::Short:
 3056     case BuiltinType::UShort:
 3059     case BuiltinType::ULongLong:
 3065     switch (cast<BuiltinType>(EltType)->getKind()) {
 3066     case BuiltinType::SChar:     EltName = "int8_t"; break;
 3067     case BuiltinType::UChar:     EltName = "uint8_t"; break;
 3068     case BuiltinType::Short:     EltName = "int16_t"; break;
 3069     case BuiltinType::UShort:    EltName = "uint16_t"; break;
 3070     case BuiltinType::Int:       EltName = "int32_t"; break;
 3071     case BuiltinType::UInt:      EltName = "uint32_t"; break;
 3072     case BuiltinType::LongLong:  EltName = "int64_t"; break;
 3073     case BuiltinType::ULongLong: EltName = "uint64_t"; break;
 3074     case BuiltinType::Double:    EltName = "float64_t"; break;
 3075     case BuiltinType::Float:     EltName = "float32_t"; break;
 3076     case BuiltinType::Half:      EltName = "float16_t";break;
 3102 static StringRef mangleAArch64VectorBase(const BuiltinType *EltType) {
 3104   case BuiltinType::SChar:
 3106   case BuiltinType::Short:
 3108   case BuiltinType::Int:
 3110   case BuiltinType::Long:
 3111   case BuiltinType::LongLong:
 3113   case BuiltinType::UChar:
 3115   case BuiltinType::UShort:
 3117   case BuiltinType::UInt:
 3119   case BuiltinType::ULong:
 3120   case BuiltinType::ULongLong:
 3122   case BuiltinType::Half:
 3124   case BuiltinType::Float:
 3126   case BuiltinType::Double:
 3148     switch (cast<BuiltinType>(EltType)->getKind()) {
 3149     case BuiltinType::UChar:
 3152     case BuiltinType::UShort:
 3155     case BuiltinType::ULong:
 3156     case BuiltinType::ULongLong:
 3163     EltName = mangleAArch64VectorBase(cast<BuiltinType>(EltType));
 4719   return T->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4720     T->isSpecificBuiltinType(BuiltinType::Char_U);
tools/clang/lib/AST/MicrosoftMangle.cpp
 1951 void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers,
 1981   case BuiltinType::Void:
 1984   case BuiltinType::SChar:
 1987   case BuiltinType::Char_U:
 1988   case BuiltinType::Char_S:
 1991   case BuiltinType::UChar:
 1994   case BuiltinType::Short:
 1997   case BuiltinType::UShort:
 2000   case BuiltinType::Int:
 2003   case BuiltinType::UInt:
 2006   case BuiltinType::Long:
 2009   case BuiltinType::ULong:
 2012   case BuiltinType::Float:
 2015   case BuiltinType::Double:
 2019   case BuiltinType::LongDouble:
 2022   case BuiltinType::LongLong:
 2025   case BuiltinType::ULongLong:
 2028   case BuiltinType::Int128:
 2031   case BuiltinType::UInt128:
 2034   case BuiltinType::Bool:
 2037   case BuiltinType::Char8:
 2040   case BuiltinType::Char16:
 2043   case BuiltinType::Char32:
 2046   case BuiltinType::WChar_S:
 2047   case BuiltinType::WChar_U:
 2055   case BuiltinType::Dependent:
 2058   case BuiltinType::ObjCId:
 2061   case BuiltinType::ObjCClass:
 2064   case BuiltinType::ObjCSel:
 2073   case BuiltinType::OCLSampler:
 2077   case BuiltinType::OCLEvent:
 2081   case BuiltinType::OCLClkEvent:
 2085   case BuiltinType::OCLQueue:
 2089   case BuiltinType::OCLReserveID:
 2099   case BuiltinType::NullPtr:
 2103   case BuiltinType::Float16:
 2107   case BuiltinType::Half:
 2114   case BuiltinType::ShortAccum:
 2115   case BuiltinType::Accum:
 2116   case BuiltinType::LongAccum:
 2117   case BuiltinType::UShortAccum:
 2118   case BuiltinType::UAccum:
 2119   case BuiltinType::ULongAccum:
 2120   case BuiltinType::ShortFract:
 2121   case BuiltinType::Fract:
 2122   case BuiltinType::LongFract:
 2123   case BuiltinType::UShortFract:
 2124   case BuiltinType::UFract:
 2125   case BuiltinType::ULongFract:
 2126   case BuiltinType::SatShortAccum:
 2127   case BuiltinType::SatAccum:
 2128   case BuiltinType::SatLongAccum:
 2129   case BuiltinType::SatUShortAccum:
 2130   case BuiltinType::SatUAccum:
 2131   case BuiltinType::SatULongAccum:
 2132   case BuiltinType::SatShortFract:
 2133   case BuiltinType::SatFract:
 2134   case BuiltinType::SatLongFract:
 2135   case BuiltinType::SatUShortFract:
 2136   case BuiltinType::SatUFract:
 2137   case BuiltinType::SatULongFract:
 2138   case BuiltinType::Float128: {
 2688   const BuiltinType *ET = T->getElementType()->getAs<BuiltinType>();
 2688   const BuiltinType *ET = T->getElementType()->getAs<BuiltinType>();
 2698       if (Width == 64 && ET->getKind() == BuiltinType::LongLong) {
 2701         if (ET->getKind() == BuiltinType::Float)
 2703         else if (ET->getKind() == BuiltinType::LongLong)
 2705         else if (ET->getKind() == BuiltinType::Double)
tools/clang/lib/AST/NSAPI.cpp
  379   const BuiltinType *BT = T->getAs<BuiltinType>();
  379   const BuiltinType *BT = T->getAs<BuiltinType>();
  395   case BuiltinType::Char_S:
  396   case BuiltinType::SChar:
  398   case BuiltinType::Char_U:
  399   case BuiltinType::UChar:
  401   case BuiltinType::Short:
  403   case BuiltinType::UShort:
  405   case BuiltinType::Int:
  407   case BuiltinType::UInt:
  409   case BuiltinType::Long:
  411   case BuiltinType::ULong:
  413   case BuiltinType::LongLong:
  415   case BuiltinType::ULongLong:
  417   case BuiltinType::Float:
  419   case BuiltinType::Double:
  421   case BuiltinType::Bool:
  424   case BuiltinType::Void:
  425   case BuiltinType::WChar_U:
  426   case BuiltinType::WChar_S:
  427   case BuiltinType::Char8:
  428   case BuiltinType::Char16:
  429   case BuiltinType::Char32:
  430   case BuiltinType::Int128:
  431   case BuiltinType::LongDouble:
  432   case BuiltinType::ShortAccum:
  433   case BuiltinType::Accum:
  434   case BuiltinType::LongAccum:
  435   case BuiltinType::UShortAccum:
  436   case BuiltinType::UAccum:
  437   case BuiltinType::ULongAccum:
  438   case BuiltinType::ShortFract:
  439   case BuiltinType::Fract:
  440   case BuiltinType::LongFract:
  441   case BuiltinType::UShortFract:
  442   case BuiltinType::UFract:
  443   case BuiltinType::ULongFract:
  444   case BuiltinType::SatShortAccum:
  445   case BuiltinType::SatAccum:
  446   case BuiltinType::SatLongAccum:
  447   case BuiltinType::SatUShortAccum:
  448   case BuiltinType::SatUAccum:
  449   case BuiltinType::SatULongAccum:
  450   case BuiltinType::SatShortFract:
  451   case BuiltinType::SatFract:
  452   case BuiltinType::SatLongFract:
  453   case BuiltinType::SatUShortFract:
  454   case BuiltinType::SatUFract:
  455   case BuiltinType::SatULongFract:
  456   case BuiltinType::UInt128:
  457   case BuiltinType::Float16:
  458   case BuiltinType::Float128:
  459   case BuiltinType::NullPtr:
  460   case BuiltinType::ObjCClass:
  461   case BuiltinType::ObjCId:
  462   case BuiltinType::ObjCSel:
  469   case BuiltinType::OCLSampler:
  470   case BuiltinType::OCLEvent:
  471   case BuiltinType::OCLClkEvent:
  472   case BuiltinType::OCLQueue:
  473   case BuiltinType::OCLReserveID:
  477   case BuiltinType::BoundMember:
  478   case BuiltinType::Dependent:
  479   case BuiltinType::Overload:
  480   case BuiltinType::UnknownAny:
  481   case BuiltinType::ARCUnbridgedCast:
  482   case BuiltinType::Half:
  483   case BuiltinType::PseudoObject:
  484   case BuiltinType::BuiltinFn:
  485   case BuiltinType::OMPArraySection:
tools/clang/lib/AST/ODRHash.cpp
  828   void VisitBuiltinType(const BuiltinType *T) {
tools/clang/lib/AST/PrintfFormatString.cpp
  729   const BuiltinType *BT = QT->getAs<BuiltinType>();
  729   const BuiltinType *BT = QT->getAs<BuiltinType>();
  734       BT = QT->getAs<BuiltinType>();
  745   case BuiltinType::Bool:
  746   case BuiltinType::WChar_U:
  747   case BuiltinType::WChar_S:
  748   case BuiltinType::Char8: // FIXME: Treat like 'char'?
  749   case BuiltinType::Char16:
  750   case BuiltinType::Char32:
  751   case BuiltinType::UInt128:
  752   case BuiltinType::Int128:
  753   case BuiltinType::Half:
  754   case BuiltinType::Float16:
  755   case BuiltinType::Float128:
  756   case BuiltinType::ShortAccum:
  757   case BuiltinType::Accum:
  758   case BuiltinType::LongAccum:
  759   case BuiltinType::UShortAccum:
  760   case BuiltinType::UAccum:
  761   case BuiltinType::ULongAccum:
  762   case BuiltinType::ShortFract:
  763   case BuiltinType::Fract:
  764   case BuiltinType::LongFract:
  765   case BuiltinType::UShortFract:
  766   case BuiltinType::UFract:
  767   case BuiltinType::ULongFract:
  768   case BuiltinType::SatShortAccum:
  769   case BuiltinType::SatAccum:
  770   case BuiltinType::SatLongAccum:
  771   case BuiltinType::SatUShortAccum:
  772   case BuiltinType::SatUAccum:
  773   case BuiltinType::SatULongAccum:
  774   case BuiltinType::SatShortFract:
  775   case BuiltinType::SatFract:
  776   case BuiltinType::SatLongFract:
  777   case BuiltinType::SatUShortFract:
  778   case BuiltinType::SatUFract:
  779   case BuiltinType::SatULongFract:
  801   case BuiltinType::UInt:
  802   case BuiltinType::Int:
  803   case BuiltinType::Float:
  807   case BuiltinType::Double:
  811   case BuiltinType::Char_U:
  812   case BuiltinType::UChar:
  813   case BuiltinType::Char_S:
  814   case BuiltinType::SChar:
  818   case BuiltinType::Short:
  819   case BuiltinType::UShort:
  823   case BuiltinType::Long:
  824   case BuiltinType::ULong:
  828   case BuiltinType::LongLong:
  829   case BuiltinType::ULongLong:
  833   case BuiltinType::LongDouble:
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 1797       if (const BuiltinType *BTy = T->getAs<BuiltinType>()) {
 1797       if (const BuiltinType *BTy = T->getAs<BuiltinType>()) {
tools/clang/lib/AST/ScanfFormatString.cpp
  433   const BuiltinType *BT = PT->getAs<BuiltinType>();
  433   const BuiltinType *BT = PT->getAs<BuiltinType>();
  459     case BuiltinType::UInt:
  460     case BuiltinType::Int:
  461     case BuiltinType::Float:
  466     case BuiltinType::Char_U:
  467     case BuiltinType::UChar:
  468     case BuiltinType::Char_S:
  469     case BuiltinType::SChar:
  474     case BuiltinType::Short:
  475     case BuiltinType::UShort:
  480     case BuiltinType::Long:
  481     case BuiltinType::ULong:
  482     case BuiltinType::Double:
  487     case BuiltinType::LongLong:
  488     case BuiltinType::ULongLong:
  493     case BuiltinType::LongDouble:
tools/clang/lib/AST/StmtPrinter.cpp
 1123   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1125   case BuiltinType::Char_S:
 1126   case BuiltinType::Char_U:    OS << "i8"; break;
 1127   case BuiltinType::UChar:     OS << "Ui8"; break;
 1128   case BuiltinType::Short:     OS << "i16"; break;
 1129   case BuiltinType::UShort:    OS << "Ui16"; break;
 1130   case BuiltinType::Int:       break; // no suffix.
 1131   case BuiltinType::UInt:      OS << 'U'; break;
 1132   case BuiltinType::Long:      OS << 'L'; break;
 1133   case BuiltinType::ULong:     OS << "UL"; break;
 1134   case BuiltinType::LongLong:  OS << "LL"; break;
 1135   case BuiltinType::ULongLong: OS << "ULL"; break;
 1144   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1146     case BuiltinType::ShortFract:   OS << "hr"; break;
 1147     case BuiltinType::ShortAccum:   OS << "hk"; break;
 1148     case BuiltinType::UShortFract:  OS << "uhr"; break;
 1149     case BuiltinType::UShortAccum:  OS << "uhk"; break;
 1150     case BuiltinType::Fract:        OS << "r"; break;
 1151     case BuiltinType::Accum:        OS << "k"; break;
 1152     case BuiltinType::UFract:       OS << "ur"; break;
 1153     case BuiltinType::UAccum:       OS << "uk"; break;
 1154     case BuiltinType::LongFract:    OS << "lr"; break;
 1155     case BuiltinType::LongAccum:    OS << "lk"; break;
 1156     case BuiltinType::ULongFract:   OS << "ulr"; break;
 1157     case BuiltinType::ULongAccum:   OS << "ulk"; break;
 1173   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1175   case BuiltinType::Half:       break; // FIXME: suffix?
 1176   case BuiltinType::Double:     break; // no suffix.
 1177   case BuiltinType::Float16:    OS << "F16"; break;
 1178   case BuiltinType::Float:      OS << 'F'; break;
 1179   case BuiltinType::LongDouble: OS << 'L'; break;
 1180   case BuiltinType::Float128:   OS << 'Q'; break;
tools/clang/lib/AST/StmtProfile.cpp
 1057   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
 1063   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
 1076   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
tools/clang/lib/AST/Type.cpp
 1843   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1843   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1844     return BT->getKind() >= BuiltinType::Bool &&
 1845            BT->getKind() <= BuiltinType::Int128;
 1856   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1856   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1857     return BT->getKind() >= BuiltinType::Bool &&
 1858            BT->getKind() <= BuiltinType::Int128;
 1871   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1871   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1872     return BT->getKind() == BuiltinType::Char_U ||
 1873            BT->getKind() == BuiltinType::UChar ||
 1874            BT->getKind() == BuiltinType::Char_S ||
 1875            BT->getKind() == BuiltinType::SChar;
 1880   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1880   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1881     return BT->getKind() == BuiltinType::WChar_S ||
 1882            BT->getKind() == BuiltinType::WChar_U;
 1887   if (const BuiltinType *BT = dyn_cast<BuiltinType>(CanonicalType))
 1887   if (const BuiltinType *BT = dyn_cast<BuiltinType>(CanonicalType))
 1888     return BT->getKind() == BuiltinType::Char8;
 1893   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1893   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1894     return BT->getKind() == BuiltinType::Char16;
 1899   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1899   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 1900     return BT->getKind() == BuiltinType::Char32;
 1907   const auto *BT = dyn_cast<BuiltinType>(CanonicalType);
 1907   const auto *BT = dyn_cast<BuiltinType>(CanonicalType);
 1911   case BuiltinType::Char_U:
 1912   case BuiltinType::UChar:
 1913   case BuiltinType::WChar_U:
 1914   case BuiltinType::Char8:
 1915   case BuiltinType::Char16:
 1916   case BuiltinType::Char32:
 1917   case BuiltinType::Char_S:
 1918   case BuiltinType::SChar:
 1919   case BuiltinType::WChar_S:
 1928   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1928   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1929     return BT->getKind() >= BuiltinType::Char_S &&
 1930            BT->getKind() <= BuiltinType::Int128;
 1944   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1944   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1945     return BT->getKind() >= BuiltinType::Char_S &&
 1946            BT->getKind() <= BuiltinType::Int128;
 1968   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1968   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1969     return BT->getKind() >= BuiltinType::Bool &&
 1970            BT->getKind() <= BuiltinType::UInt128;
 1984   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1984   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType)) {
 1985     return BT->getKind() >= BuiltinType::Bool &&
 1986     BT->getKind() <= BuiltinType::UInt128;
 2005   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2005   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2006     return BT->getKind() >= BuiltinType::Half &&
 2007            BT->getKind() <= BuiltinType::Float128;
 2021   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2021   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2027   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2027   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2028     return BT->getKind() >= BuiltinType::Bool &&
 2029            BT->getKind() <= BuiltinType::Float128;
 2036   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2036   if (const auto *BT = dyn_cast<BuiltinType>(CanonicalType))
 2037     return BT->getKind() >= BuiltinType::Bool &&
 2038            BT->getKind() <= BuiltinType::Float128;
 2054   if (const auto *BT = dyn_cast<BuiltinType>(T)) {
 2054   if (const auto *BT = dyn_cast<BuiltinType>(T)) {
 2055     if (BT->getKind() == BuiltinType::Bool) return STK_Bool;
 2056     if (BT->getKind() == BuiltinType::NullPtr) return STK_CPointer;
 2560   if (const auto *BT = getAs<BuiltinType>())
 2560   if (const auto *BT = getAs<BuiltinType>())
 2562     case BuiltinType::Bool:
 2563     case BuiltinType::Char_S:
 2564     case BuiltinType::Char_U:
 2565     case BuiltinType::SChar:
 2566     case BuiltinType::UChar:
 2567     case BuiltinType::Short:
 2568     case BuiltinType::UShort:
 2569     case BuiltinType::WChar_S:
 2570     case BuiltinType::WChar_U:
 2571     case BuiltinType::Char8:
 2572     case BuiltinType::Char16:
 2573     case BuiltinType::Char32:
 2814   case BuiltinType::ShortFract:
 2816   case BuiltinType::Fract:
 2818   case BuiltinType::LongFract:
 2820   case BuiltinType::UShortFract:
 2822   case BuiltinType::UFract:
 2824   case BuiltinType::ULongFract:
 2826   case BuiltinType::SatShortAccum:
 2828   case BuiltinType::SatAccum:
 2830   case BuiltinType::SatLongAccum:
 2832   case BuiltinType::SatUShortAccum:
 2834   case BuiltinType::SatUAccum:
 2836   case BuiltinType::SatULongAccum:
 2838   case BuiltinType::SatShortFract:
 2840   case BuiltinType::SatFract:
 2842   case BuiltinType::SatLongFract:
 2844   case BuiltinType::SatUShortFract:
 2846   case BuiltinType::SatUFract:
 2848   case BuiltinType::SatULongFract:
 3878     switch (cast<BuiltinType>(type.getTypePtr())->getKind()) {
 3888     case BuiltinType::Dependent:
 3889     case BuiltinType::Overload:
 3890     case BuiltinType::BoundMember:
 3891     case BuiltinType::PseudoObject:
 3892     case BuiltinType::UnknownAny:
 3893     case BuiltinType::ARCUnbridgedCast:
 3896     case BuiltinType::Void:
 3897     case BuiltinType::ObjCId:
 3898     case BuiltinType::ObjCClass:
 3899     case BuiltinType::ObjCSel:
 3906     case BuiltinType::OCLSampler:
 3907     case BuiltinType::OCLEvent:
 3908     case BuiltinType::OCLClkEvent:
 3909     case BuiltinType::OCLQueue:
 3910     case BuiltinType::OCLReserveID:
 3914     case BuiltinType::BuiltinFn:
 3915     case BuiltinType::NullPtr:
 3916     case BuiltinType::OMPArraySection:
tools/clang/lib/AST/TypeLoc.cpp
  312   case BuiltinType::Void:
  314   case BuiltinType::Bool:
  316   case BuiltinType::Char_U:
  317   case BuiltinType::Char_S:
  319   case BuiltinType::Char8:
  321   case BuiltinType::Char16:
  323   case BuiltinType::Char32:
  325   case BuiltinType::WChar_S:
  326   case BuiltinType::WChar_U:
  328   case BuiltinType::UChar:
  329   case BuiltinType::UShort:
  330   case BuiltinType::UInt:
  331   case BuiltinType::ULong:
  332   case BuiltinType::ULongLong:
  333   case BuiltinType::UInt128:
  334   case BuiltinType::SChar:
  335   case BuiltinType::Short:
  336   case BuiltinType::Int:
  337   case BuiltinType::Long:
  338   case BuiltinType::LongLong:
  339   case BuiltinType::Int128:
  340   case BuiltinType::Half:
  341   case BuiltinType::Float:
  342   case BuiltinType::Double:
  343   case BuiltinType::LongDouble:
  344   case BuiltinType::Float16:
  345   case BuiltinType::Float128:
  346   case BuiltinType::ShortAccum:
  347   case BuiltinType::Accum:
  348   case BuiltinType::LongAccum:
  349   case BuiltinType::UShortAccum:
  350   case BuiltinType::UAccum:
  351   case BuiltinType::ULongAccum:
  352   case BuiltinType::ShortFract:
  353   case BuiltinType::Fract:
  354   case BuiltinType::LongFract:
  355   case BuiltinType::UShortFract:
  356   case BuiltinType::UFract:
  357   case BuiltinType::ULongFract:
  358   case BuiltinType::SatShortAccum:
  359   case BuiltinType::SatAccum:
  360   case BuiltinType::SatLongAccum:
  361   case BuiltinType::SatUShortAccum:
  362   case BuiltinType::SatUAccum:
  363   case BuiltinType::SatULongAccum:
  364   case BuiltinType::SatShortFract:
  365   case BuiltinType::SatFract:
  366   case BuiltinType::SatLongFract:
  367   case BuiltinType::SatUShortFract:
  368   case BuiltinType::SatUFract:
  369   case BuiltinType::SatULongFract:
  373   case BuiltinType::NullPtr:
  374   case BuiltinType::Overload:
  375   case BuiltinType::Dependent:
  376   case BuiltinType::BoundMember:
  377   case BuiltinType::UnknownAny:
  378   case BuiltinType::ARCUnbridgedCast:
  379   case BuiltinType::PseudoObject:
  380   case BuiltinType::ObjCId:
  381   case BuiltinType::ObjCClass:
  382   case BuiltinType::ObjCSel:
  389   case BuiltinType::OCLSampler:
  390   case BuiltinType::OCLEvent:
  391   case BuiltinType::OCLClkEvent:
  392   case BuiltinType::OCLQueue:
  393   case BuiltinType::OCLReserveID:
  397   case BuiltinType::BuiltinFn:
  398   case BuiltinType::OMPArraySection:
tools/clang/lib/AST/TypePrinter.cpp
  354 void TypePrinter::printBuiltinBefore(const BuiltinType *T, raw_ostream &OS) {
  359 void TypePrinter::printBuiltinAfter(const BuiltinType *T, raw_ostream &OS) {}
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  807 const AstTypeMatcher<BuiltinType> builtinType;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCall.cpp
 1508   if (const BuiltinType *BT = ResultType->getAs<BuiltinType>()) {
 1508   if (const BuiltinType *BT = ResultType->getAs<BuiltinType>()) {
 1512     case BuiltinType::Float:
 1514     case BuiltinType::Double:
 1516     case BuiltinType::LongDouble:
 1526     if (const BuiltinType *BT = CT->getElementType()->getAs<BuiltinType>()) {
 1526     if (const BuiltinType *BT = CT->getElementType()->getAs<BuiltinType>()) {
 1527       if (BT->getKind() == BuiltinType::LongDouble)
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  632 llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) {
  639   case BuiltinType::Dependent:
  641   case BuiltinType::NullPtr:
  643   case BuiltinType::Void:
  645   case BuiltinType::ObjCClass:
  651   case BuiltinType::ObjCId: {
  679   case BuiltinType::ObjCSel: {
  692   case BuiltinType::OCLSampler:
  694   case BuiltinType::OCLEvent:
  696   case BuiltinType::OCLClkEvent:
  698   case BuiltinType::OCLQueue:
  700   case BuiltinType::OCLReserveID:
  720     return CreateType(cast<const BuiltinType>(CGM.getContext().IntTy));
  723   case BuiltinType::UChar:
  724   case BuiltinType::Char_U:
  727   case BuiltinType::Char_S:
  728   case BuiltinType::SChar:
  731   case BuiltinType::Char8:
  732   case BuiltinType::Char16:
  733   case BuiltinType::Char32:
  736   case BuiltinType::UShort:
  737   case BuiltinType::UInt:
  738   case BuiltinType::UInt128:
  739   case BuiltinType::ULong:
  740   case BuiltinType::WChar_U:
  741   case BuiltinType::ULongLong:
  744   case BuiltinType::Short:
  745   case BuiltinType::Int:
  746   case BuiltinType::Int128:
  747   case BuiltinType::Long:
  748   case BuiltinType::WChar_S:
  749   case BuiltinType::LongLong:
  752   case BuiltinType::Bool:
  755   case BuiltinType::Half:
  756   case BuiltinType::Float:
  757   case BuiltinType::LongDouble:
  758   case BuiltinType::Float16:
  759   case BuiltinType::Float128:
  760   case BuiltinType::Double:
  768   case BuiltinType::ShortAccum:
  769   case BuiltinType::Accum:
  770   case BuiltinType::LongAccum:
  771   case BuiltinType::ShortFract:
  772   case BuiltinType::Fract:
  773   case BuiltinType::LongFract:
  774   case BuiltinType::SatShortFract:
  775   case BuiltinType::SatFract:
  776   case BuiltinType::SatLongFract:
  777   case BuiltinType::SatShortAccum:
  778   case BuiltinType::SatAccum:
  779   case BuiltinType::SatLongAccum:
  782   case BuiltinType::UShortAccum:
  783   case BuiltinType::UAccum:
  784   case BuiltinType::ULongAccum:
  785   case BuiltinType::UShortFract:
  786   case BuiltinType::UFract:
  787   case BuiltinType::ULongFract:
  788   case BuiltinType::SatUShortAccum:
  789   case BuiltinType::SatUAccum:
  790   case BuiltinType::SatULongAccum:
  791   case BuiltinType::SatUShortFract:
  792   case BuiltinType::SatUFract:
  793   case BuiltinType::SatULongFract:
  799   case BuiltinType::Long:
  802   case BuiltinType::LongLong:
  805   case BuiltinType::ULong:
  808   case BuiltinType::ULongLong:
 3025     return CreateType(cast<BuiltinType>(Ty));
tools/clang/lib/CodeGen/CGDebugInfo.h
  154   llvm::DIType *CreateType(const BuiltinType *Ty);
tools/clang/lib/CodeGen/CGExprScalar.cpp
 3685                                         BuiltinType::Kind ElemKind) {
 3688   case BuiltinType::Char_U:
 3689   case BuiltinType::UChar:
 3692   case BuiltinType::Char_S:
 3693   case BuiltinType::SChar:
 3696   case BuiltinType::UShort:
 3699   case BuiltinType::Short:
 3702   case BuiltinType::UInt:
 3705   case BuiltinType::Int:
 3708   case BuiltinType::ULong:
 3709   case BuiltinType::ULongLong:
 3712   case BuiltinType::Long:
 3713   case BuiltinType::LongLong:
 3716   case BuiltinType::Float:
 3719   case BuiltinType::Double:
 3758       const BuiltinType *BTy = ElTy->getAs<BuiltinType>();
 3758       const BuiltinType *BTy = ElTy->getAs<BuiltinType>();
 3759       BuiltinType::Kind ElementKind = BTy->getKind();
 3781         if (ElementKind == BuiltinType::Float) {
 3792         if (ElementKind == BuiltinType::Float) {
tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp
   40   switch (cast<BuiltinType>(T)->getKind()) {
   50   case BuiltinType::OCLSampler:
   52   case BuiltinType::OCLEvent:
   55   case BuiltinType::OCLClkEvent:
   58   case BuiltinType::OCLQueue:
   61   case BuiltinType::OCLReserveID:
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  118   if (const BuiltinType *BTy = dyn_cast<BuiltinType>(Ty)) {
  118   if (const BuiltinType *BTy = dyn_cast<BuiltinType>(Ty)) {
  125     case BuiltinType::Char_U:
  126     case BuiltinType::Char_S:
  127     case BuiltinType::UChar:
  128     case BuiltinType::SChar:
  132     case BuiltinType::UShort:
  134     case BuiltinType::UInt:
  136     case BuiltinType::ULong:
  138     case BuiltinType::ULongLong:
  140     case BuiltinType::UInt128:
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  409     switch (cast<BuiltinType>(Ty)->getKind()) {
  410     case BuiltinType::Void:
  411     case BuiltinType::ObjCId:
  412     case BuiltinType::ObjCClass:
  413     case BuiltinType::ObjCSel:
  419     case BuiltinType::Bool:
  424     case BuiltinType::Char_S:
  425     case BuiltinType::Char_U:
  426     case BuiltinType::SChar:
  427     case BuiltinType::UChar:
  428     case BuiltinType::Short:
  429     case BuiltinType::UShort:
  430     case BuiltinType::Int:
  431     case BuiltinType::UInt:
  432     case BuiltinType::Long:
  433     case BuiltinType::ULong:
  434     case BuiltinType::LongLong:
  435     case BuiltinType::ULongLong:
  436     case BuiltinType::WChar_S:
  437     case BuiltinType::WChar_U:
  438     case BuiltinType::Char8:
  439     case BuiltinType::Char16:
  440     case BuiltinType::Char32:
  441     case BuiltinType::ShortAccum:
  442     case BuiltinType::Accum:
  443     case BuiltinType::LongAccum:
  444     case BuiltinType::UShortAccum:
  445     case BuiltinType::UAccum:
  446     case BuiltinType::ULongAccum:
  447     case BuiltinType::ShortFract:
  448     case BuiltinType::Fract:
  449     case BuiltinType::LongFract:
  450     case BuiltinType::UShortFract:
  451     case BuiltinType::UFract:
  452     case BuiltinType::ULongFract:
  453     case BuiltinType::SatShortAccum:
  454     case BuiltinType::SatAccum:
  455     case BuiltinType::SatLongAccum:
  456     case BuiltinType::SatUShortAccum:
  457     case BuiltinType::SatUAccum:
  458     case BuiltinType::SatULongAccum:
  459     case BuiltinType::SatShortFract:
  460     case BuiltinType::SatFract:
  461     case BuiltinType::SatLongFract:
  462     case BuiltinType::SatUShortFract:
  463     case BuiltinType::SatUFract:
  464     case BuiltinType::SatULongFract:
  469     case BuiltinType::Float16:
  475     case BuiltinType::Half:
  482     case BuiltinType::Float:
  483     case BuiltinType::Double:
  484     case BuiltinType::LongDouble:
  485     case BuiltinType::Float128:
  491     case BuiltinType::NullPtr:
  496     case BuiltinType::UInt128:
  497     case BuiltinType::Int128:
  507     case BuiltinType::OCLSampler:
  508     case BuiltinType::OCLEvent:
  509     case BuiltinType::OCLClkEvent:
  510     case BuiltinType::OCLQueue:
  511     case BuiltinType::OCLReserveID:
  523       auto *BT = cast<BuiltinType>(Ty);
  531     case BuiltinType::Dependent:
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 2905 static bool TypeInfoIsInStandardLibrary(const BuiltinType *Ty) {
 2921     case BuiltinType::Void:
 2922     case BuiltinType::NullPtr:
 2923     case BuiltinType::Bool:
 2924     case BuiltinType::WChar_S:
 2925     case BuiltinType::WChar_U:
 2926     case BuiltinType::Char_U:
 2927     case BuiltinType::Char_S:
 2928     case BuiltinType::UChar:
 2929     case BuiltinType::SChar:
 2930     case BuiltinType::Short:
 2931     case BuiltinType::UShort:
 2932     case BuiltinType::Int:
 2933     case BuiltinType::UInt:
 2934     case BuiltinType::Long:
 2935     case BuiltinType::ULong:
 2936     case BuiltinType::LongLong:
 2937     case BuiltinType::ULongLong:
 2938     case BuiltinType::Half:
 2939     case BuiltinType::Float:
 2940     case BuiltinType::Double:
 2941     case BuiltinType::LongDouble:
 2942     case BuiltinType::Float16:
 2943     case BuiltinType::Float128:
 2944     case BuiltinType::Char8:
 2945     case BuiltinType::Char16:
 2946     case BuiltinType::Char32:
 2947     case BuiltinType::Int128:
 2948     case BuiltinType::UInt128:
 2957     case BuiltinType::OCLSampler:
 2958     case BuiltinType::OCLEvent:
 2959     case BuiltinType::OCLClkEvent:
 2960     case BuiltinType::OCLQueue:
 2961     case BuiltinType::OCLReserveID:
 2965     case BuiltinType::ShortAccum:
 2966     case BuiltinType::Accum:
 2967     case BuiltinType::LongAccum:
 2968     case BuiltinType::UShortAccum:
 2969     case BuiltinType::UAccum:
 2970     case BuiltinType::ULongAccum:
 2971     case BuiltinType::ShortFract:
 2972     case BuiltinType::Fract:
 2973     case BuiltinType::LongFract:
 2974     case BuiltinType::UShortFract:
 2975     case BuiltinType::UFract:
 2976     case BuiltinType::ULongFract:
 2977     case BuiltinType::SatShortAccum:
 2978     case BuiltinType::SatAccum:
 2979     case BuiltinType::SatLongAccum:
 2980     case BuiltinType::SatUShortAccum:
 2981     case BuiltinType::SatUAccum:
 2982     case BuiltinType::SatULongAccum:
 2983     case BuiltinType::SatShortFract:
 2984     case BuiltinType::SatFract:
 2985     case BuiltinType::SatLongFract:
 2986     case BuiltinType::SatUShortFract:
 2987     case BuiltinType::SatUFract:
 2988     case BuiltinType::SatULongFract:
 2991     case BuiltinType::Dependent:
 2998     case BuiltinType::ObjCId:
 2999     case BuiltinType::ObjCClass:
 3000     case BuiltinType::ObjCSel:
 3009   const BuiltinType *BuiltinTy = dyn_cast<BuiltinType>(PointeeTy);
 3009   const BuiltinType *BuiltinTy = dyn_cast<BuiltinType>(PointeeTy);
 3027   if (const BuiltinType *BuiltinTy = dyn_cast<BuiltinType>(Ty))
 3027   if (const BuiltinType *BuiltinTy = dyn_cast<BuiltinType>(Ty))
 3230     if (isa<BuiltinType>(Ty)) {
 3558   if (isa<BuiltinType>(T)) return;
tools/clang/lib/CodeGen/TargetInfo.cpp
  953   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
  953   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
  954     if (BT->isFloatingPoint() && BT->getKind() != BuiltinType::Half) {
  955       if (BT->getKind() == BuiltinType::LongDouble) {
 1257   if (Ty->getAs<BuiltinType>() || Ty->hasPointerRepresentation() ||
 1294   if (!Ty->getAs<BuiltinType>() && !Ty->hasPointerRepresentation() &&
 1543   if (const BuiltinType *BT = T->getAs<BuiltinType>()) {
 1543   if (const BuiltinType *BT = T->getAs<BuiltinType>()) {
 1544     BuiltinType::Kind K = BT->getKind();
 1545     if (K == BuiltinType::Float || K == BuiltinType::Double)
 1545     if (K == BuiltinType::Float || K == BuiltinType::Double)
 2570   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 2570   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 2571     BuiltinType::Kind k = BT->getKind();
 2573     if (k == BuiltinType::Void) {
 2575     } else if (k == BuiltinType::Int128 || k == BuiltinType::UInt128) {
 2575     } else if (k == BuiltinType::Int128 || k == BuiltinType::UInt128) {
 2578     } else if (k >= BuiltinType::Bool && k <= BuiltinType::LongLong) {
 2578     } else if (k >= BuiltinType::Bool && k <= BuiltinType::LongLong) {
 2580     } else if (k == BuiltinType::Float || k == BuiltinType::Double) {
 2580     } else if (k == BuiltinType::Float || k == BuiltinType::Double) {
 2582     } else if (k == BuiltinType::LongDouble) {
 2653       if (ElementType->isSpecificBuiltinType(BuiltinType::Double))
 2660           (ElementType->isSpecificBuiltinType(BuiltinType::LongLong) ||
 2661            ElementType->isSpecificBuiltinType(BuiltinType::ULongLong) ||
 2662            ElementType->isSpecificBuiltinType(BuiltinType::Long) ||
 2663            ElementType->isSpecificBuiltinType(BuiltinType::ULong)))
 2678           (ElementType->isSpecificBuiltinType(BuiltinType::Int128) ||
 2679            ElementType->isSpecificBuiltinType(BuiltinType::UInt128)))
 2926         (EltTy->isSpecificBuiltinType(BuiltinType::Int128) ||
 2927          EltTy->isSpecificBuiltinType(BuiltinType::UInt128)))
 4000   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4000   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4002     case BuiltinType::Bool:
 4007     case BuiltinType::LongDouble:
 4017     case BuiltinType::Int128:
 4018     case BuiltinType::UInt128:
 4168     const BuiltinType *BT = EltType->getAs<BuiltinType>();
 4168     const BuiltinType *BT = EltType->getAs<BuiltinType>();
 4403       if (VT->getElementType()->isSpecificBuiltinType(BuiltinType::Double)) {
 4407                    isSpecificBuiltinType(BuiltinType::Float)) {
 4451         const BuiltinType *BT = T->getAs<BuiltinType>();
 4451         const BuiltinType *BT = T->getAs<BuiltinType>();
 4524   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 4524   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 4526     case BuiltinType::Int:
 4527     case BuiltinType::UInt:
 4559     const BuiltinType *BT = EltType->getAs<BuiltinType>();
 4559     const BuiltinType *BT = EltType->getAs<BuiltinType>();
 4699   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4699   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4700     if (BT->getKind() == BuiltinType::Float ||
 4701         BT->getKind() == BuiltinType::Double ||
 4702         BT->getKind() == BuiltinType::LongDouble ||
 4704           (BT->getKind() == BuiltinType::Float128))) {
 5283   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 5283   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 6000   if (Ty->getAs<BuiltinType>() || Ty->isPointerType())
 6257   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 6257   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 6258     if (BT->getKind() == BuiltinType::Float ||
 6259         BT->getKind() == BuiltinType::Double ||
 6260         BT->getKind() == BuiltinType::LongDouble)
 6594   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6594   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6596     case BuiltinType::Int:
 6597     case BuiltinType::UInt:
 6618   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6618   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6620     case BuiltinType::Float:
 6621     case BuiltinType::Double:
 7072     const BuiltinType *BT = Ty->getAs<BuiltinType>();
 7072     const BuiltinType *BT = Ty->getAs<BuiltinType>();
 7074     if (!BT || BT->getKind() != BuiltinType::Double)
 7171         const BuiltinType *BT = b->getType()->getAs<BuiltinType>();
 7171         const BuiltinType *BT = b->getType()->getAs<BuiltinType>();
 9056     case BuiltinType::Void:
 9059     case BuiltinType::Bool:
 9062     case BuiltinType::Char_U:
 9065     case BuiltinType::UChar:
 9068     case BuiltinType::SChar:
 9071     case BuiltinType::UShort:
 9074     case BuiltinType::Short:
 9077     case BuiltinType::UInt:
 9080     case BuiltinType::Int:
 9083     case BuiltinType::ULong:
 9086     case BuiltinType::Long:
 9089     case BuiltinType::ULongLong:
 9092     case BuiltinType::LongLong:
 9095     case BuiltinType::Float:
 9098     case BuiltinType::Double:
 9101     case BuiltinType::LongDouble:
 9192   if (const BuiltinType *BT = QT->getAs<BuiltinType>())
 9192   if (const BuiltinType *BT = QT->getAs<BuiltinType>())
tools/clang/lib/Index/USRGeneration.cpp
  656     if (const BuiltinType *BT = T->getAs<BuiltinType>()) {
  656     if (const BuiltinType *BT = T->getAs<BuiltinType>()) {
  659         case BuiltinType::Void:
  661         case BuiltinType::Bool:
  663         case BuiltinType::UChar:
  665         case BuiltinType::Char8:
  667         case BuiltinType::Char16:
  669         case BuiltinType::Char32:
  671         case BuiltinType::UShort:
  673         case BuiltinType::UInt:
  675         case BuiltinType::ULong:
  677         case BuiltinType::ULongLong:
  679         case BuiltinType::UInt128:
  681         case BuiltinType::Char_U:
  682         case BuiltinType::Char_S:
  684         case BuiltinType::SChar:
  686         case BuiltinType::WChar_S:
  687         case BuiltinType::WChar_U:
  689         case BuiltinType::Short:
  691         case BuiltinType::Int:
  693         case BuiltinType::Long:
  695         case BuiltinType::LongLong:
  697         case BuiltinType::Int128:
  699         case BuiltinType::Float16:
  700         case BuiltinType::Half:
  702         case BuiltinType::Float:
  704         case BuiltinType::Double:
  706         case BuiltinType::LongDouble:
  708         case BuiltinType::Float128:
  710         case BuiltinType::NullPtr:
  715         case BuiltinType::Dependent:
  722         case BuiltinType::OCLEvent:
  723         case BuiltinType::OCLClkEvent:
  724         case BuiltinType::OCLQueue:
  725         case BuiltinType::OCLReserveID:
  726         case BuiltinType::OCLSampler:
  730         case BuiltinType::ShortAccum:
  731         case BuiltinType::Accum:
  732         case BuiltinType::LongAccum:
  733         case BuiltinType::UShortAccum:
  734         case BuiltinType::UAccum:
  735         case BuiltinType::ULongAccum:
  736         case BuiltinType::ShortFract:
  737         case BuiltinType::Fract:
  738         case BuiltinType::LongFract:
  739         case BuiltinType::UShortFract:
  740         case BuiltinType::UFract:
  741         case BuiltinType::ULongFract:
  742         case BuiltinType::SatShortAccum:
  743         case BuiltinType::SatAccum:
  744         case BuiltinType::SatLongAccum:
  745         case BuiltinType::SatUShortAccum:
  746         case BuiltinType::SatUAccum:
  747         case BuiltinType::SatULongAccum:
  748         case BuiltinType::SatShortFract:
  749         case BuiltinType::SatFract:
  750         case BuiltinType::SatLongFract:
  751         case BuiltinType::SatUShortFract:
  752         case BuiltinType::SatUFract:
  753         case BuiltinType::SatULongFract:
  756         case BuiltinType::ObjCId:
  758         case BuiltinType::ObjCClass:
  760         case BuiltinType::ObjCSel:
tools/clang/lib/Parse/ParseExpr.cpp
 1758              BaseType->isSpecificPlaceholderType(BuiltinType::BoundMember))) {
tools/clang/lib/Sema/SemaCast.cpp
   62       if (const BuiltinType *placeholder =
   76     BuiltinType::Kind PlaceholderKind;
  120     bool claimPlaceholder(BuiltinType::Kind K) {
  130     bool isPlaceholder(BuiltinType::Kind K) const {
  153       if (!isPlaceholder() || isPlaceholder(BuiltinType::Overload))
  980   if (ValueKind == VK_RValue && !isPlaceholder(BuiltinType::Overload))
 1033     if (claimPlaceholder(BuiltinType::Overload)) {
 1047       !isPlaceholder(BuiltinType::Overload)) {
 2406     if (claimPlaceholder(BuiltinType::UnknownAny)) {
 2424     if (claimPlaceholder(BuiltinType::Overload)) {
 2445       !isPlaceholder(BuiltinType::Overload)) {
 2584   if (claimPlaceholder(BuiltinType::UnknownAny)) {
tools/clang/lib/Sema/SemaChecking.cpp
 4735       const BuiltinType *BT = ValType->getAs<BuiltinType>();
 4735       const BuiltinType *BT = ValType->getAs<BuiltinType>();
 4736       if (!BT || (BT->getKind() != BuiltinType::Int &&
 4737                   BT->getKind() != BuiltinType::UInt)) {
 5648            Type->isSpecificBuiltinType(BuiltinType::Float) || [=] {
 5793       if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Float)) {
10112     const BuiltinType *BT = cast<BuiltinType>(T);
10112     const BuiltinType *BT = cast<BuiltinType>(T);
10135     const BuiltinType *BT = cast<BuiltinType>(T);
10135     const BuiltinType *BT = cast<BuiltinType>(T);
10691                               OtherT->isSpecificBuiltinType(BuiltinType::SChar);
11075   return Ty->isSpecificBuiltinType(BuiltinType::SChar) &&
11097   const bool IsBool = T->isSpecificBuiltinType(BuiltinType::Bool);
11223   const auto *ResultBT = E->getLHS()->getType()->getAs<BuiltinType>();
11223   const auto *ResultBT = E->getLHS()->getType()->getAs<BuiltinType>();
11224   const auto *RBT = cast<CompoundAssignOperator>(E)
11226                         ->getAs<BuiltinType>();
11269   const BuiltinType *FloatCandidateBT =
11270     dyn_cast<BuiltinType>(ToBool ? Source : Target);
11273   return (BoolCandidateType->isSpecificBuiltinType(BuiltinType::Bool) &&
11565   if (Target->isSpecificBuiltinType(BuiltinType::Bool)) {
11645   const BuiltinType *SourceBT = dyn_cast<BuiltinType>(Source);
11645   const BuiltinType *SourceBT = dyn_cast<BuiltinType>(Source);
11646   const BuiltinType *TargetBT = dyn_cast<BuiltinType>(Target);
11646   const BuiltinType *TargetBT = dyn_cast<BuiltinType>(Target);
11841   if (Target->isSpecificBuiltinType(BuiltinType::Bool))
12400     if (!ReturnType->isSpecificBuiltinType(BuiltinType::Bool))
14518   const BuiltinType *BT1 = T1->getAs<BuiltinType>();
14518   const BuiltinType *BT1 = T1->getAs<BuiltinType>();
14522   const BuiltinType *BT2 = T2->getAs<BuiltinType>();
14522   const BuiltinType *BT2 = T2->getAs<BuiltinType>();
14526   BuiltinType::Kind T1Kind = BT1->getKind();
14527   BuiltinType::Kind T2Kind = BT2->getKind();
14529   return (T1Kind == BuiltinType::SChar  && T2Kind == BuiltinType::Char_S) ||
14529   return (T1Kind == BuiltinType::SChar  && T2Kind == BuiltinType::Char_S) ||
14530          (T1Kind == BuiltinType::UChar  && T2Kind == BuiltinType::Char_U) ||
14530          (T1Kind == BuiltinType::UChar  && T2Kind == BuiltinType::Char_U) ||
14531          (T1Kind == BuiltinType::Char_U && T2Kind == BuiltinType::UChar) ||
14531          (T1Kind == BuiltinType::Char_U && T2Kind == BuiltinType::UChar) ||
14532          (T1Kind == BuiltinType::Char_S && T2Kind == BuiltinType::SChar);
14532          (T1Kind == BuiltinType::Char_S && T2Kind == BuiltinType::SChar);
tools/clang/lib/Sema/SemaCodeComplete.cpp
  814     switch (cast<BuiltinType>(T)->getKind()) {
  815     case BuiltinType::Void:
  818     case BuiltinType::NullPtr:
  821     case BuiltinType::Overload:
  822     case BuiltinType::Dependent:
  825     case BuiltinType::ObjCId:
  826     case BuiltinType::ObjCClass:
  827     case BuiltinType::ObjCSel:
 1509     switch (cast<BuiltinType>(T)->getKind()) {
 1510     case BuiltinType::ObjCId:
 1511     case BuiltinType::ObjCClass:
 1512     case BuiltinType::ObjCSel:
 1877     if (const BuiltinType *BT = dyn_cast<BuiltinType>(T))
 1877     if (const BuiltinType *BT = dyn_cast<BuiltinType>(T))
tools/clang/lib/Sema/SemaCoroutine.cpp
  861       !E->getType()->isSpecificPlaceholderType(BuiltinType::Overload)) {
tools/clang/lib/Sema/SemaDecl.cpp
14410   if (const BuiltinType *BT = T->getAs<BuiltinType>())
14410   if (const BuiltinType *BT = T->getAs<BuiltinType>())
tools/clang/lib/Sema/SemaDeclAttr.cpp
 3981   if (!OldElemTy->getAs<BuiltinType>() && !OldElemTy->isComplexType() &&
tools/clang/lib/Sema/SemaDeclCXX.cpp
13965     if (!ParamType->isSpecificBuiltinType(BuiltinType::Int) &&
14063     if (ParamType->isSpecificBuiltinType(BuiltinType::ULongLong) ||
14064         ParamType->isSpecificBuiltinType(BuiltinType::LongDouble) ||
tools/clang/lib/Sema/SemaExceptionSpec.cpp
  995     if (T->isSpecificPlaceholderType(BuiltinType::BoundMember)) {
tools/clang/lib/Sema/SemaExpr.cpp
  751   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
  751   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
  752   if (BTy && (BTy->getKind() == BuiltinType::Half ||
  753               BTy->getKind() == BuiltinType::Float)) {
  756         if (BTy->getKind() == BuiltinType::Half) {
  889   if (const BuiltinType *PlaceholderTy = E->getType()->getAsPlaceholderType()) {
  891     if (PlaceholderTy->getKind() == BuiltinType::ARCUnbridgedCast &&
 1251   const auto *BTy = Ty->getAs<BuiltinType>();
 1251   const auto *BTy = Ty->getAs<BuiltinType>();
 1255   case BuiltinType::ShortFract:
 1256   case BuiltinType::UShortFract:
 1257   case BuiltinType::SatShortFract:
 1258   case BuiltinType::SatUShortFract:
 1260   case BuiltinType::Fract:
 1261   case BuiltinType::UFract:
 1262   case BuiltinType::SatFract:
 1263   case BuiltinType::SatUFract:
 1265   case BuiltinType::LongFract:
 1266   case BuiltinType::ULongFract:
 1267   case BuiltinType::SatLongFract:
 1268   case BuiltinType::SatULongFract:
 1270   case BuiltinType::ShortAccum:
 1271   case BuiltinType::UShortAccum:
 1272   case BuiltinType::SatShortAccum:
 1273   case BuiltinType::SatUShortAccum:
 1275   case BuiltinType::Accum:
 1276   case BuiltinType::UAccum:
 1277   case BuiltinType::SatAccum:
 1278   case BuiltinType::SatUAccum:
 1280   case BuiltinType::LongAccum:
 1281   case BuiltinType::ULongAccum:
 1282   case BuiltinType::SatLongAccum:
 1283   case BuiltinType::SatULongAccum:
 3580         const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 3580         const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 3581         if (BTy->getKind() != BuiltinType::Float) {
 4333       base->getType()->isSpecificPlaceholderType(BuiltinType::OMPArraySection))
 4470           BuiltinType::OMPArraySection)) {
 4527     if (LowerBound->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4528         LowerBound->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 4541     if (Length->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4542         Length->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 4600           BuiltinType::OMPArraySection)) {
 4742   if ((IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4743        IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 5323   const BuiltinType *placeholder = dyn_cast<BuiltinType>(type);
 5323   const BuiltinType *placeholder = dyn_cast<BuiltinType>(type);
 5346   case BuiltinType::Overload:
 5351   case BuiltinType::ARCUnbridgedCast:
 5355   case BuiltinType::PseudoObject:
 5360   case BuiltinType::UnknownAny:
 5364   case BuiltinType::BoundMember:
 5365   case BuiltinType::BuiltinFn:
 5366   case BuiltinType::OMPArraySection:
 5817       Fn->getType()->isSpecificBuiltinType(BuiltinType::BuiltinFn)) {
 9943       const BuiltinType *LHSBT = LHSEleType->getAs<clang::BuiltinType>();
 9943       const BuiltinType *LHSBT = LHSEleType->getAs<clang::BuiltinType>();
 9944       const BuiltinType *RHSBT = RHSEleType->getAs<clang::BuiltinType>();
 9944       const BuiltinType *RHSBT = RHSEleType->getAs<clang::BuiltinType>();
12286   if (const BuiltinType *PTy = OrigOp.get()->getType()->getAsPlaceholderType()){
12287     if (PTy->getKind() == BuiltinType::Overload) {
12307     if (PTy->getKind() == BuiltinType::UnknownAny)
12310     if (PTy->getKind() == BuiltinType::BoundMember) {
13351   if (const BuiltinType *pty = LHSExpr->getType()->getAsPlaceholderType()) {
13353     if (pty->getKind() == BuiltinType::PseudoObject &&
13358     if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload) {
13380         (pty->getKind() == BuiltinType::BoundMember ||
13381          pty->getKind() == BuiltinType::Overload)) {
13401   if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) {
13404     if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) {
13414     if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload &&
13715   if (const BuiltinType *pty = Input->getType()->getAsPlaceholderType()) {
13717     if (pty->getKind() == BuiltinType::PseudoObject &&
13728         (pty->getKind() == BuiltinType::Overload ||
13729          pty->getKind() == BuiltinType::UnknownAny ||
13730          pty->getKind() == BuiltinType::BoundMember))
14531     if (TInfo->getType()->isSpecificBuiltinType(BuiltinType::Float))
17867   const BuiltinType *placeholderType = E->getType()->getAsPlaceholderType();
17873   case BuiltinType::Overload: {
17893   case BuiltinType::BoundMember: {
17911   case BuiltinType::ARCUnbridgedCast: {
17918   case BuiltinType::UnknownAny:
17922   case BuiltinType::PseudoObject:
17925   case BuiltinType::BuiltinFn: {
17944   case BuiltinType::OMPArraySection:
tools/clang/lib/Sema/SemaExprCXX.cpp
 3701       if (const BuiltinType *ToPointeeType
 3702           = ToPtrType->getPointeeType()->getAs<BuiltinType>()) {
 3713               return (ToPointeeType->getKind() == BuiltinType::Char_U ||
 3714                       ToPointeeType->getKind() == BuiltinType::Char_S);
tools/clang/lib/Sema/SemaExprMember.cpp
 1624   if (IsArrow && BaseType->isSpecificBuiltinType(BuiltinType::ObjCSel) &&
tools/clang/lib/Sema/SemaExprObjC.cpp
 1673     if (argExpr->hasPlaceholderType(BuiltinType::ARCUnbridgedCast) &&
tools/clang/lib/Sema/SemaInit.cpp
 9563   } else if (const BuiltinType *BT = EntityType->getAs<BuiltinType>())
 9563   } else if (const BuiltinType *BT = EntityType->getAs<BuiltinType>())
tools/clang/lib/Sema/SemaOverload.cpp
  922   if (const BuiltinType *placeholder =  E->getType()->getAsPlaceholderType()) {
  925     if (placeholder->getKind() == BuiltinType::Overload) return false;
  929     if (placeholder->getKind() == BuiltinType::ARCUnbridgedCast &&
 1999   const BuiltinType *To = ToType->getAs<BuiltinType>();
 1999   const BuiltinType *To = ToType->getAs<BuiltinType>();
 2017       return To->getKind() == BuiltinType::Int;
 2020     return To->getKind() == BuiltinType::UInt;
 2133           return To->getKind() == BuiltinType::Int;
 2139           return To->getKind() == BuiltinType::UInt;
 2149   if (FromType->isBooleanType() && To->getKind() == BuiltinType::Int) {
 2160   if (const BuiltinType *FromBuiltin = FromType->getAs<BuiltinType>())
 2160   if (const BuiltinType *FromBuiltin = FromType->getAs<BuiltinType>())
 2161     if (const BuiltinType *ToBuiltin = ToType->getAs<BuiltinType>()) {
 2161     if (const BuiltinType *ToBuiltin = ToType->getAs<BuiltinType>()) {
 2164       if (FromBuiltin->getKind() == BuiltinType::Float &&
 2165           ToBuiltin->getKind() == BuiltinType::Double)
 2172           (FromBuiltin->getKind() == BuiltinType::Float ||
 2173            FromBuiltin->getKind() == BuiltinType::Double) &&
 2174           (ToBuiltin->getKind() == BuiltinType::LongDouble ||
 2175            ToBuiltin->getKind() == BuiltinType::Float128))
 2180            FromBuiltin->getKind() == BuiltinType::Half &&
 2181           ToBuiltin->getKind() == BuiltinType::Float)
 6328       if (argExpr->hasPlaceholderType(BuiltinType::ARCUnbridgedCast) &&
tools/clang/lib/Sema/SemaTemplate.cpp
 5495 bool UnnamedLocalNoLinkageFinder::VisitBuiltinType(const BuiltinType*) {
tools/clang/lib/Sema/SemaType.cpp
 4856             } else if (const BuiltinType* BTy = ParamTy->getAs<BuiltinType>()) {
 4856             } else if (const BuiltinType* BTy = ParamTy->getAs<BuiltinType>()) {
 4857               if (BTy->getKind() == BuiltinType::Float) {
 7209   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 7209   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 7222       return BTy->getKind() == BuiltinType::UChar ||
 7223              BTy->getKind() == BuiltinType::UShort ||
 7224              BTy->getKind() == BuiltinType::ULong ||
 7225              BTy->getKind() == BuiltinType::ULongLong;
 7228       return BTy->getKind() == BuiltinType::SChar ||
 7229              BTy->getKind() == BuiltinType::Short;
 7238   if (Is64Bit && BTy->getKind() == BuiltinType::Double)
 7241   return BTy->getKind() == BuiltinType::SChar ||
 7242          BTy->getKind() == BuiltinType::UChar ||
 7243          BTy->getKind() == BuiltinType::Short ||
 7244          BTy->getKind() == BuiltinType::UShort ||
 7245          BTy->getKind() == BuiltinType::Int ||
 7246          BTy->getKind() == BuiltinType::UInt ||
 7247          BTy->getKind() == BuiltinType::Long ||
 7248          BTy->getKind() == BuiltinType::ULong ||
 7249          BTy->getKind() == BuiltinType::LongLong ||
 7250          BTy->getKind() == BuiltinType::ULongLong ||
 7251          BTy->getKind() == BuiltinType::Float ||
 7252          BTy->getKind() == BuiltinType::Half;
 7332     } else if (const BuiltinType* ImgType = BaseTy->getAs<BuiltinType>()) {
 7332     } else if (const BuiltinType* ImgType = BaseTy->getAs<BuiltinType>()) {
tools/clang/lib/Sema/TreeTransform.h
 4530   BuiltinTypeLoc NewT = TLB.push<BuiltinTypeLoc>(T.getType());
 4530   BuiltinTypeLoc NewT = TLB.push<BuiltinTypeLoc>(T.getType());
 4531   NewT.setBuiltinLoc(T.getBuiltinLoc());
 4532   if (T.needsExtraLocalData())
 4533     NewT.getWrittenBuiltinSpecs() = T.getWrittenBuiltinSpecs();
 4534   return T.getType();
 9536   if (result.get()->hasPlaceholderType(BuiltinType::PseudoObject))
tools/clang/lib/Serialization/ASTCommon.cpp
   26 serialization::TypeIdxFromBuiltin(const BuiltinType *BT) {
   29   case BuiltinType::Void:
   32   case BuiltinType::Bool:
   35   case BuiltinType::Char_U:
   38   case BuiltinType::UChar:
   41   case BuiltinType::UShort:
   44   case BuiltinType::UInt:
   47   case BuiltinType::ULong:
   50   case BuiltinType::ULongLong:
   53   case BuiltinType::UInt128:
   56   case BuiltinType::Char_S:
   59   case BuiltinType::SChar:
   62   case BuiltinType::WChar_S:
   63   case BuiltinType::WChar_U:
   66   case BuiltinType::Short:
   69   case BuiltinType::Int:
   72   case BuiltinType::Long:
   75   case BuiltinType::LongLong:
   78   case BuiltinType::Int128:
   81   case BuiltinType::Half:
   84   case BuiltinType::Float:
   87   case BuiltinType::Double:
   90   case BuiltinType::LongDouble:
   93   case BuiltinType::ShortAccum:
   96   case BuiltinType::Accum:
   99   case BuiltinType::LongAccum:
  102   case BuiltinType::UShortAccum:
  105   case BuiltinType::UAccum:
  108   case BuiltinType::ULongAccum:
  111   case BuiltinType::ShortFract:
  114   case BuiltinType::Fract:
  117   case BuiltinType::LongFract:
  120   case BuiltinType::UShortFract:
  123   case BuiltinType::UFract:
  126   case BuiltinType::ULongFract:
  129   case BuiltinType::SatShortAccum:
  132   case BuiltinType::SatAccum:
  135   case BuiltinType::SatLongAccum:
  138   case BuiltinType::SatUShortAccum:
  141   case BuiltinType::SatUAccum:
  144   case BuiltinType::SatULongAccum:
  147   case BuiltinType::SatShortFract:
  150   case BuiltinType::SatFract:
  153   case BuiltinType::SatLongFract:
  156   case BuiltinType::SatUShortFract:
  159   case BuiltinType::SatUFract:
  162   case BuiltinType::SatULongFract:
  165   case BuiltinType::Float16:
  168   case BuiltinType::Float128:
  171   case BuiltinType::NullPtr:
  174   case BuiltinType::Char8:
  177   case BuiltinType::Char16:
  180   case BuiltinType::Char32:
  183   case BuiltinType::Overload:
  186   case BuiltinType::BoundMember:
  189   case BuiltinType::PseudoObject:
  192   case BuiltinType::Dependent:
  195   case BuiltinType::UnknownAny:
  198   case BuiltinType::ARCUnbridgedCast:
  201   case BuiltinType::ObjCId:
  204   case BuiltinType::ObjCClass:
  207   case BuiltinType::ObjCSel:
  220   case BuiltinType::OCLSampler:
  223   case BuiltinType::OCLEvent:
  226   case BuiltinType::OCLClkEvent:
  229   case BuiltinType::OCLQueue:
  232   case BuiltinType::OCLReserveID:
  240   case BuiltinType::BuiltinFn:
  243   case BuiltinType::OMPArraySection:
tools/clang/lib/Serialization/ASTCommon.h
   47 TypeIdx TypeIdxFromBuiltin(const BuiltinType *BT);
   62   if (const BuiltinType *BT = dyn_cast<BuiltinType>(T.getTypePtr()))
   62   if (const BuiltinType *BT = dyn_cast<BuiltinType>(T.getTypePtr()))
tools/clang/lib/Serialization/ASTWriter.cpp
  185 void ASTTypeWriter::VisitBuiltinType(const BuiltinType *T) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  249       const auto *BT = dyn_cast<BuiltinType>(T);
  249       const auto *BT = dyn_cast<BuiltinType>(T);
tools/clang/tools/extra/clang-tidy/boost/UseToStringCheck.cpp
   49   if (CharType->isSpecificBuiltinType(BuiltinType::Char_S) ||
   50       CharType->isSpecificBuiltinType(BuiltinType::Char_U))
   52   else if (CharType->isSpecificBuiltinType(BuiltinType::WChar_S) ||
   53            CharType->isSpecificBuiltinType(BuiltinType::WChar_U))
tools/clang/tools/extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
   79 static bool isValidBuiltinFold(const BuiltinType &ValueType,
   80                                const BuiltinType &InitType,
  106 void FoldInitTypeCheck::doCheck(const BuiltinType &IterValueType,
  107                                 const BuiltinType &InitType,
  121   const auto *InitType = Result.Nodes.getNodeAs<BuiltinType>("InitType");
  121   const auto *InitType = Result.Nodes.getNodeAs<BuiltinType>("InitType");
  122   const auto *IterValueType =
  123       Result.Nodes.getNodeAs<BuiltinType>("IterValueType");
  132   if (const auto *Iter2ValueType =
  133           Result.Nodes.getNodeAs<BuiltinType>("Iter2ValueType"))
tools/clang/tools/extra/clang-tidy/bugprone/FoldInitTypeCheck.h
   35   void doCheck(const BuiltinType &IterValueType, const BuiltinType &InitType,
   35   void doCheck(const BuiltinType &IterValueType, const BuiltinType &InitType,
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
   96 static int relativeIntSizes(BuiltinType::Kind Kind) {
   98   case BuiltinType::UChar:
  100   case BuiltinType::SChar:
  102   case BuiltinType::Char_U:
  104   case BuiltinType::Char_S:
  106   case BuiltinType::UShort:
  108   case BuiltinType::Short:
  110   case BuiltinType::UInt:
  112   case BuiltinType::Int:
  114   case BuiltinType::ULong:
  116   case BuiltinType::Long:
  118   case BuiltinType::ULongLong:
  120   case BuiltinType::LongLong:
  122   case BuiltinType::UInt128:
  124   case BuiltinType::Int128:
  131 static int relativeCharSizes(BuiltinType::Kind Kind) {
  133   case BuiltinType::UChar:
  135   case BuiltinType::SChar:
  137   case BuiltinType::Char_U:
  139   case BuiltinType::Char_S:
  141   case BuiltinType::Char16:
  143   case BuiltinType::Char32:
  150 static int relativeCharSizesW(BuiltinType::Kind Kind) {
  152   case BuiltinType::UChar:
  154   case BuiltinType::SChar:
  156   case BuiltinType::Char_U:
  158   case BuiltinType::Char_S:
  160   case BuiltinType::WChar_U:
  162   case BuiltinType::WChar_S:
  169 static bool isFirstWider(BuiltinType::Kind First, BuiltinType::Kind Second) {
  169 static bool isFirstWider(BuiltinType::Kind First, BuiltinType::Kind Second) {
  211     const auto *CastBuiltinType =
  212         dyn_cast<BuiltinType>(CastType->getUnqualifiedDesugaredType());
  213     const auto *CalcBuiltinType =
  214         dyn_cast<BuiltinType>(CalcType->getUnqualifiedDesugaredType());
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
   64 static const BuiltinType *getBuiltinType(const Expr &E) {
   65   return E.getType().getCanonicalType().getTypePtr()->getAs<BuiltinType>();
  120                                    const BuiltinType &T) {
  148                                const BuiltinType &FromType,
  149                                const BuiltinType &ToType) {
  157                                const BuiltinType &ToType) {
  239   const BuiltinType *ToType = getBuiltinType(Lhs);
  247   const BuiltinType *FromType = getBuiltinType(Rhs);
  272   const BuiltinType *ToType = getBuiltinType(Lhs);
  279   const BuiltinType *FromType = getBuiltinType(Rhs);
  330     const BuiltinType *ToType = getBuiltinType(Lhs);
  345     const BuiltinType *FromType = getBuiltinType(Rhs);
  357   const BuiltinType *LhsType = getBuiltinType(Lhs);
  358   const BuiltinType *RhsType = getBuiltinType(Rhs);
  361   if (RhsType->getKind() == BuiltinType::Bool && LhsType->isSignedInteger())
  363   if (RhsType->isInteger() && LhsType->getKind() == BuiltinType::Bool)
  369   if (RhsType->isFloatingPoint() && LhsType->getKind() == BuiltinType::Bool)
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  351   const BuiltinType *BT =
  352       dyn_cast<BuiltinType>(QT.getCanonicalType().getTypePtr());
  357   case BuiltinType::Bool:
  359   case BuiltinType::Float:
  361   case BuiltinType::Double:
  363   case BuiltinType::LongDouble:
  365   case BuiltinType::SChar:
  366   case BuiltinType::Char_S:
  367   case BuiltinType::WChar_S:
  368   case BuiltinType::Char16:
  369   case BuiltinType::Char32:
  370   case BuiltinType::Short:
  371   case BuiltinType::Int:
  373   case BuiltinType::UChar:
  374   case BuiltinType::Char_U:
  375   case BuiltinType::WChar_U:
  376   case BuiltinType::UShort:
  377   case BuiltinType::UInt:
  379   case BuiltinType::Long:
  381   case BuiltinType::ULong:
  383   case BuiltinType::LongLong:
  385   case BuiltinType::ULongLong:
tools/clang/tools/extra/clang-tidy/google/IntegerTypesCheck.cpp
  104   case BuiltinType::Short:
  108   case BuiltinType::Long:
  112   case BuiltinType::LongLong:
  116   case BuiltinType::UShort:
  120   case BuiltinType::ULong:
  124   case BuiltinType::ULongLong:
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
   32     switch (InitType->castAs<BuiltinType>()->getKind()) {
   33     case BuiltinType::Char_U:
   34     case BuiltinType::UChar:
   35     case BuiltinType::Char_S:
   36     case BuiltinType::SChar:
   38     case BuiltinType::WChar_U:
   39     case BuiltinType::WChar_S:
   41     case BuiltinType::Char16:
   43     case BuiltinType::Char32:
   50     switch (InitType->castAs<BuiltinType>()->getKind()) {
   51     case BuiltinType::Half:
   52     case BuiltinType::Float:
   64     switch (InitType->castAs<BuiltinType>()->getKind()) {
   65     case BuiltinType::ShortAccum:
   66     case BuiltinType::SatShortAccum:
   68     case BuiltinType::Accum:
   69     case BuiltinType::SatAccum:
   71     case BuiltinType::LongAccum:
   72     case BuiltinType::SatLongAccum:
   74     case BuiltinType::UShortAccum:
   75     case BuiltinType::SatUShortAccum:
   77     case BuiltinType::UAccum:
   78     case BuiltinType::SatUAccum:
   80     case BuiltinType::ULongAccum:
   81     case BuiltinType::SatULongAccum:
   83     case BuiltinType::ShortFract:
   84     case BuiltinType::SatShortFract:
   86     case BuiltinType::Fract:
   87     case BuiltinType::SatFract:
   89     case BuiltinType::LongFract:
   90     case BuiltinType::SatLongFract:
   92     case BuiltinType::UShortFract:
   93     case BuiltinType::SatUShortFract:
   95     case BuiltinType::UFract:
   96     case BuiltinType::SatUFract:
   98     case BuiltinType::ULongFract:
   99     case BuiltinType::SatULongFract:
tools/clang/tools/extra/clang-tidy/modernize/UseNullptrCheck.cpp
   28   if (const auto *BT = dyn_cast<BuiltinType>(DesugaredType))
   28   if (const auto *BT = dyn_cast<BuiltinType>(DesugaredType))
   29     return BT->getKind() == BuiltinType::NullPtr;
tools/clang/tools/extra/clang-tidy/mpi/TypeMismatchCheck.cpp
   30 isMPITypeMatching(const std::multimap<BuiltinType::Kind, std::string> &MultiMap,
   31                   const BuiltinType::Kind Kind,
   94 static bool isBuiltinTypeMatching(const BuiltinType *Builtin,
   98   static std::multimap<BuiltinType::Kind, std::string> BuiltinMatches = {
  101       {BuiltinType::SChar, "MPI_CHAR"},
  102       {BuiltinType::SChar, "MPI_SIGNED_CHAR"},
  103       {BuiltinType::SChar, "MPI_UNSIGNED_CHAR"},
  104       {BuiltinType::Char_S, "MPI_CHAR"},
  105       {BuiltinType::Char_S, "MPI_SIGNED_CHAR"},
  106       {BuiltinType::Char_S, "MPI_UNSIGNED_CHAR"},
  107       {BuiltinType::UChar, "MPI_CHAR"},
  108       {BuiltinType::UChar, "MPI_SIGNED_CHAR"},
  109       {BuiltinType::UChar, "MPI_UNSIGNED_CHAR"},
  110       {BuiltinType::Char_U, "MPI_CHAR"},
  111       {BuiltinType::Char_U, "MPI_SIGNED_CHAR"},
  112       {BuiltinType::Char_U, "MPI_UNSIGNED_CHAR"},
  113       {BuiltinType::WChar_S, "MPI_WCHAR"},
  114       {BuiltinType::WChar_U, "MPI_WCHAR"},
  115       {BuiltinType::Bool, "MPI_C_BOOL"},
  116       {BuiltinType::Bool, "MPI_CXX_BOOL"},
  117       {BuiltinType::Short, "MPI_SHORT"},
  118       {BuiltinType::Int, "MPI_INT"},
  119       {BuiltinType::Long, "MPI_LONG"},
  120       {BuiltinType::LongLong, "MPI_LONG_LONG"},
  121       {BuiltinType::LongLong, "MPI_LONG_LONG_INT"},
  122       {BuiltinType::UShort, "MPI_UNSIGNED_SHORT"},
  123       {BuiltinType::UInt, "MPI_UNSIGNED"},
  124       {BuiltinType::ULong, "MPI_UNSIGNED_LONG"},
  125       {BuiltinType::ULongLong, "MPI_UNSIGNED_LONG_LONG"},
  126       {BuiltinType::Float, "MPI_FLOAT"},
  127       {BuiltinType::Double, "MPI_DOUBLE"},
  128       {BuiltinType::LongDouble, "MPI_LONG_DOUBLE"}};
  151   static std::multimap<BuiltinType::Kind, std::string> ComplexCMatches = {
  152       {BuiltinType::Float, "MPI_C_COMPLEX"},
  153       {BuiltinType::Float, "MPI_C_FLOAT_COMPLEX"},
  154       {BuiltinType::Double, "MPI_C_DOUBLE_COMPLEX"},
  155       {BuiltinType::LongDouble, "MPI_C_LONG_DOUBLE_COMPLEX"}};
  157   const auto *Builtin =
  158       Complex->getElementType().getTypePtr()->getAs<BuiltinType>();
  182   static std::multimap<BuiltinType::Kind, std::string> ComplexCXXMatches = {
  183       {BuiltinType::Float, "MPI_CXX_FLOAT_COMPLEX"},
  184       {BuiltinType::Double, "MPI_CXX_DOUBLE_COMPLEX"},
  185       {BuiltinType::LongDouble, "MPI_CXX_LONG_DOUBLE_COMPLEX"}};
  190   const auto *Builtin =
  191       Template->getArg(0).getAsType().getTypePtr()->getAs<BuiltinType>();
  319     } else if (const auto *Builtin = BT->getAs<BuiltinType>()) {
  319     } else if (const auto *Builtin = BT->getAs<BuiltinType>()) {
tools/clang/tools/extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
   24   if (const auto *BT = dyn_cast<BuiltinType>(&Node)) {
   24   if (const auto *BT = dyn_cast<BuiltinType>(&Node)) {
   51   constexpr BuiltinType::Kind IntTy = BuiltinType::Int;
   51   constexpr BuiltinType::Kind IntTy = BuiltinType::Int;
   52   constexpr BuiltinType::Kind LongTy = BuiltinType::Long;
   52   constexpr BuiltinType::Kind LongTy = BuiltinType::Long;
   53   constexpr BuiltinType::Kind FloatTy = BuiltinType::Float;
   53   constexpr BuiltinType::Kind FloatTy = BuiltinType::Float;
   54   constexpr BuiltinType::Kind DoubleTy = BuiltinType::Double;
   54   constexpr BuiltinType::Kind DoubleTy = BuiltinType::Double;
   55   constexpr BuiltinType::Kind LongDoubleTy = BuiltinType::LongDouble;
   55   constexpr BuiltinType::Kind LongDoubleTy = BuiltinType::LongDouble;
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp
   56         Parm->getType()->isSpecificBuiltinType(BuiltinType::Int))
tools/clang/tools/libclang/CIndex.cpp
 1517   case BuiltinType::Void:
 1518   case BuiltinType::NullPtr:
 1519   case BuiltinType::Dependent:
 1526   case BuiltinType::OCLSampler:
 1527   case BuiltinType::OCLEvent:
 1528   case BuiltinType::OCLClkEvent:
 1529   case BuiltinType::OCLQueue:
 1530   case BuiltinType::OCLReserveID:
 1542   case BuiltinType::ObjCId:
 1546   case BuiltinType::ObjCClass:
 1550   case BuiltinType::ObjCSel:
tools/clang/tools/libclang/CXType.cpp
   28 static CXTypeKind GetBuiltinTypeKind(const BuiltinType *BT) {
   44     case BuiltinType::WChar_S: return CXType_WChar;
   45     case BuiltinType::WChar_U: return CXType_WChar;
   92       return GetBuiltinTypeKind(cast<BuiltinType>(TP));
tools/lldb/source/Symbol/ClangASTContext.cpp
 3296   const clang::BuiltinType *builtin_type =
 3297       llvm::dyn_cast<clang::BuiltinType>(qual_type->getCanonicalTypeInternal());
 3332       switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 3335       case clang::BuiltinType::ObjCId:
 3336       case clang::BuiltinType::ObjCClass:
 3404       switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 3407       case clang::BuiltinType::ObjCId:
 3408       case clang::BuiltinType::ObjCClass:
 3544     if (const clang::BuiltinType *BT = llvm::dyn_cast<clang::BuiltinType>(
 3544     if (const clang::BuiltinType *BT = llvm::dyn_cast<clang::BuiltinType>(
 3546       clang::BuiltinType::Kind kind = BT->getKind();
 3547       if (kind >= clang::BuiltinType::Float &&
 3548           kind <= clang::BuiltinType::LongDouble) {
 3676           llvm::cast<clang::BuiltinType>(qual_type)->getKind() ==
 3677               clang::BuiltinType::ObjCId) {
 3755         switch (llvm::cast<clang::BuiltinType>(pointee_qual_type)->getKind()) {
 3756         case clang::BuiltinType::UnknownAny:
 3757         case clang::BuiltinType::Void:
 3962     const clang::BuiltinType *builtin_type = llvm::dyn_cast<clang::BuiltinType>(
 3962     const clang::BuiltinType *builtin_type = llvm::dyn_cast<clang::BuiltinType>(
 3967     case clang::BuiltinType::ObjCId:
 3968     case clang::BuiltinType::ObjCClass:
 3975     case clang::BuiltinType::ObjCSel:
 3982     case clang::BuiltinType::Bool:
 3983     case clang::BuiltinType::Char_U:
 3984     case clang::BuiltinType::UChar:
 3985     case clang::BuiltinType::WChar_U:
 3986     case clang::BuiltinType::Char16:
 3987     case clang::BuiltinType::Char32:
 3988     case clang::BuiltinType::UShort:
 3989     case clang::BuiltinType::UInt:
 3990     case clang::BuiltinType::ULong:
 3991     case clang::BuiltinType::ULongLong:
 3992     case clang::BuiltinType::UInt128:
 3993     case clang::BuiltinType::Char_S:
 3994     case clang::BuiltinType::SChar:
 3995     case clang::BuiltinType::WChar_S:
 3996     case clang::BuiltinType::Short:
 3997     case clang::BuiltinType::Int:
 3998     case clang::BuiltinType::Long:
 3999     case clang::BuiltinType::LongLong:
 4000     case clang::BuiltinType::Int128:
 4001     case clang::BuiltinType::Float:
 4002     case clang::BuiltinType::Double:
 4003     case clang::BuiltinType::LongDouble:
 4209       switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 4211       case clang::BuiltinType::Void:
 4212       case clang::BuiltinType::Bool:
 4213       case clang::BuiltinType::Char_U:
 4214       case clang::BuiltinType::UChar:
 4215       case clang::BuiltinType::WChar_U:
 4216       case clang::BuiltinType::Char16:
 4217       case clang::BuiltinType::Char32:
 4218       case clang::BuiltinType::UShort:
 4219       case clang::BuiltinType::UInt:
 4220       case clang::BuiltinType::ULong:
 4221       case clang::BuiltinType::ULongLong:
 4222       case clang::BuiltinType::UInt128:
 4223       case clang::BuiltinType::Char_S:
 4224       case clang::BuiltinType::SChar:
 4225       case clang::BuiltinType::WChar_S:
 4226       case clang::BuiltinType::Short:
 4227       case clang::BuiltinType::Int:
 4228       case clang::BuiltinType::Long:
 4229       case clang::BuiltinType::LongLong:
 4230       case clang::BuiltinType::Int128:
 4231       case clang::BuiltinType::Float:
 4232       case clang::BuiltinType::Double:
 4233       case clang::BuiltinType::LongDouble:
 4236       case clang::BuiltinType::NullPtr:
 4239       case clang::BuiltinType::ObjCId:
 4240       case clang::BuiltinType::ObjCClass:
 4241       case clang::BuiltinType::ObjCSel:
 4244       case clang::BuiltinType::Dependent:
 4245       case clang::BuiltinType::Overload:
 4246       case clang::BuiltinType::BoundMember:
 4247       case clang::BuiltinType::UnknownAny:
 5058     switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 5059     case clang::BuiltinType::Void:
 5062     case clang::BuiltinType::Bool:
 5063     case clang::BuiltinType::Char_S:
 5064     case clang::BuiltinType::SChar:
 5065     case clang::BuiltinType::WChar_S:
 5066     case clang::BuiltinType::Short:
 5067     case clang::BuiltinType::Int:
 5068     case clang::BuiltinType::Long:
 5069     case clang::BuiltinType::LongLong:
 5070     case clang::BuiltinType::Int128:
 5073     case clang::BuiltinType::Char_U:
 5074     case clang::BuiltinType::UChar:
 5075     case clang::BuiltinType::WChar_U:
 5076     case clang::BuiltinType::Char8:
 5077     case clang::BuiltinType::Char16:
 5078     case clang::BuiltinType::Char32:
 5079     case clang::BuiltinType::UShort:
 5080     case clang::BuiltinType::UInt:
 5081     case clang::BuiltinType::ULong:
 5082     case clang::BuiltinType::ULongLong:
 5083     case clang::BuiltinType::UInt128:
 5087     case clang::BuiltinType::ShortAccum:
 5088     case clang::BuiltinType::Accum:
 5089     case clang::BuiltinType::LongAccum:
 5090     case clang::BuiltinType::UShortAccum:
 5091     case clang::BuiltinType::UAccum:
 5092     case clang::BuiltinType::ULongAccum:
 5093     case clang::BuiltinType::ShortFract:
 5094     case clang::BuiltinType::Fract:
 5095     case clang::BuiltinType::LongFract:
 5096     case clang::BuiltinType::UShortFract:
 5097     case clang::BuiltinType::UFract:
 5098     case clang::BuiltinType::ULongFract:
 5099     case clang::BuiltinType::SatShortAccum:
 5100     case clang::BuiltinType::SatAccum:
 5101     case clang::BuiltinType::SatLongAccum:
 5102     case clang::BuiltinType::SatUShortAccum:
 5103     case clang::BuiltinType::SatUAccum:
 5104     case clang::BuiltinType::SatULongAccum:
 5105     case clang::BuiltinType::SatShortFract:
 5106     case clang::BuiltinType::SatFract:
 5107     case clang::BuiltinType::SatLongFract:
 5108     case clang::BuiltinType::SatUShortFract:
 5109     case clang::BuiltinType::SatUFract:
 5110     case clang::BuiltinType::SatULongFract:
 5113     case clang::BuiltinType::Half:
 5114     case clang::BuiltinType::Float:
 5115     case clang::BuiltinType::Float16:
 5116     case clang::BuiltinType::Float128:
 5117     case clang::BuiltinType::Double:
 5118     case clang::BuiltinType::LongDouble:
 5121     case clang::BuiltinType::ObjCClass:
 5122     case clang::BuiltinType::ObjCId:
 5123     case clang::BuiltinType::ObjCSel:
 5126     case clang::BuiltinType::NullPtr:
 5129     case clang::BuiltinType::Kind::ARCUnbridgedCast:
 5130     case clang::BuiltinType::Kind::BoundMember:
 5131     case clang::BuiltinType::Kind::BuiltinFn:
 5132     case clang::BuiltinType::Kind::Dependent:
 5133     case clang::BuiltinType::Kind::OCLClkEvent:
 5134     case clang::BuiltinType::Kind::OCLEvent:
 5135     case clang::BuiltinType::Kind::OCLImage1dRO:
 5136     case clang::BuiltinType::Kind::OCLImage1dWO:
 5137     case clang::BuiltinType::Kind::OCLImage1dRW:
 5138     case clang::BuiltinType::Kind::OCLImage1dArrayRO:
 5139     case clang::BuiltinType::Kind::OCLImage1dArrayWO:
 5140     case clang::BuiltinType::Kind::OCLImage1dArrayRW:
 5141     case clang::BuiltinType::Kind::OCLImage1dBufferRO:
 5142     case clang::BuiltinType::Kind::OCLImage1dBufferWO:
 5143     case clang::BuiltinType::Kind::OCLImage1dBufferRW:
 5144     case clang::BuiltinType::Kind::OCLImage2dRO:
 5145     case clang::BuiltinType::Kind::OCLImage2dWO:
 5146     case clang::BuiltinType::Kind::OCLImage2dRW:
 5147     case clang::BuiltinType::Kind::OCLImage2dArrayRO:
 5148     case clang::BuiltinType::Kind::OCLImage2dArrayWO:
 5149     case clang::BuiltinType::Kind::OCLImage2dArrayRW:
 5150     case clang::BuiltinType::Kind::OCLImage2dArrayDepthRO:
 5151     case clang::BuiltinType::Kind::OCLImage2dArrayDepthWO:
 5152     case clang::BuiltinType::Kind::OCLImage2dArrayDepthRW:
 5153     case clang::BuiltinType::Kind::OCLImage2dArrayMSAARO:
 5154     case clang::BuiltinType::Kind::OCLImage2dArrayMSAAWO:
 5155     case clang::BuiltinType::Kind::OCLImage2dArrayMSAARW:
 5156     case clang::BuiltinType::Kind::OCLImage2dArrayMSAADepthRO:
 5157     case clang::BuiltinType::Kind::OCLImage2dArrayMSAADepthWO:
 5158     case clang::BuiltinType::Kind::OCLImage2dArrayMSAADepthRW:
 5159     case clang::BuiltinType::Kind::OCLImage2dDepthRO:
 5160     case clang::BuiltinType::Kind::OCLImage2dDepthWO:
 5161     case clang::BuiltinType::Kind::OCLImage2dDepthRW:
 5162     case clang::BuiltinType::Kind::OCLImage2dMSAARO:
 5163     case clang::BuiltinType::Kind::OCLImage2dMSAAWO:
 5164     case clang::BuiltinType::Kind::OCLImage2dMSAARW:
 5165     case clang::BuiltinType::Kind::OCLImage2dMSAADepthRO:
 5166     case clang::BuiltinType::Kind::OCLImage2dMSAADepthWO:
 5167     case clang::BuiltinType::Kind::OCLImage2dMSAADepthRW:
 5168     case clang::BuiltinType::Kind::OCLImage3dRO:
 5169     case clang::BuiltinType::Kind::OCLImage3dWO:
 5170     case clang::BuiltinType::Kind::OCLImage3dRW:
 5171     case clang::BuiltinType::Kind::OCLQueue:
 5172     case clang::BuiltinType::Kind::OCLReserveID:
 5173     case clang::BuiltinType::Kind::OCLSampler:
 5174     case clang::BuiltinType::Kind::OMPArraySection:
 5175     case clang::BuiltinType::Kind::Overload:
 5176     case clang::BuiltinType::Kind::PseudoObject:
 5177     case clang::BuiltinType::Kind::UnknownAny:
 5180     case clang::BuiltinType::OCLIntelSubgroupAVCMcePayload:
 5181     case clang::BuiltinType::OCLIntelSubgroupAVCImePayload:
 5182     case clang::BuiltinType::OCLIntelSubgroupAVCRefPayload:
 5183     case clang::BuiltinType::OCLIntelSubgroupAVCSicPayload:
 5184     case clang::BuiltinType::OCLIntelSubgroupAVCMceResult:
 5185     case clang::BuiltinType::OCLIntelSubgroupAVCImeResult:
 5186     case clang::BuiltinType::OCLIntelSubgroupAVCRefResult:
 5187     case clang::BuiltinType::OCLIntelSubgroupAVCSicResult:
 5188     case clang::BuiltinType::OCLIntelSubgroupAVCImeResultSingleRefStreamout:
 5189     case clang::BuiltinType::OCLIntelSubgroupAVCImeResultDualRefStreamout:
 5190     case clang::BuiltinType::OCLIntelSubgroupAVCImeSingleRefStreamin:
 5191     case clang::BuiltinType::OCLIntelSubgroupAVCImeDualRefStreamin:
 5194     case clang::BuiltinType::SveBool:
 5195     case clang::BuiltinType::SveInt8:
 5196     case clang::BuiltinType::SveInt16:
 5197     case clang::BuiltinType::SveInt32:
 5198     case clang::BuiltinType::SveInt64:
 5199     case clang::BuiltinType::SveUint8:
 5200     case clang::BuiltinType::SveUint16:
 5201     case clang::BuiltinType::SveUint32:
 5202     case clang::BuiltinType::SveUint64:
 5203     case clang::BuiltinType::SveFloat16:
 5204     case clang::BuiltinType::SveFloat32:
 5205     case clang::BuiltinType::SveFloat64:
 5344     switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 5346     case clang::BuiltinType::UnknownAny:
 5347     case clang::BuiltinType::Void:
 5348     case clang::BuiltinType::BoundMember:
 5351     case clang::BuiltinType::Bool:
 5353     case clang::BuiltinType::Char_S:
 5354     case clang::BuiltinType::SChar:
 5355     case clang::BuiltinType::WChar_S:
 5356     case clang::BuiltinType::Char_U:
 5357     case clang::BuiltinType::UChar:
 5358     case clang::BuiltinType::WChar_U:
 5360     case clang::BuiltinType::Char16:
 5362     case clang::BuiltinType::Char32:
 5364     case clang::BuiltinType::UShort:
 5366     case clang::BuiltinType::Short:
 5368     case clang::BuiltinType::UInt:
 5370     case clang::BuiltinType::Int:
 5372     case clang::BuiltinType::ULong:
 5374     case clang::BuiltinType::Long:
 5376     case clang::BuiltinType::ULongLong:
 5378     case clang::BuiltinType::LongLong:
 5380     case clang::BuiltinType::UInt128:
 5382     case clang::BuiltinType::Int128:
 5384     case clang::BuiltinType::Half:
 5385     case clang::BuiltinType::Float:
 5386     case clang::BuiltinType::Double:
 5387     case clang::BuiltinType::LongDouble:
 5524     switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 5525     case clang::BuiltinType::ObjCId:    // child is Class
 5526     case clang::BuiltinType::ObjCClass: // child is Class
 5718       switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 5719       case clang::BuiltinType::Void:
 5721       case clang::BuiltinType::Bool:
 5723       case clang::BuiltinType::Char_S:
 5725       case clang::BuiltinType::Char_U:
 5727       case clang::BuiltinType::Char16:
 5729       case clang::BuiltinType::Char32:
 5731       case clang::BuiltinType::UChar:
 5733       case clang::BuiltinType::SChar:
 5735       case clang::BuiltinType::WChar_S:
 5737       case clang::BuiltinType::WChar_U:
 5739       case clang::BuiltinType::Short:
 5741       case clang::BuiltinType::UShort:
 5743       case clang::BuiltinType::Int:
 5745       case clang::BuiltinType::UInt:
 5747       case clang::BuiltinType::Long:
 5749       case clang::BuiltinType::ULong:
 5751       case clang::BuiltinType::LongLong:
 5753       case clang::BuiltinType::ULongLong:
 5755       case clang::BuiltinType::Int128:
 5757       case clang::BuiltinType::UInt128:
 5760       case clang::BuiltinType::Half:
 5762       case clang::BuiltinType::Float:
 5764       case clang::BuiltinType::Double:
 5766       case clang::BuiltinType::LongDouble:
 5769       case clang::BuiltinType::NullPtr:
 5771       case clang::BuiltinType::ObjCId:
 5773       case clang::BuiltinType::ObjCClass:
 5775       case clang::BuiltinType::ObjCSel:
 6415     switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) {
 6416     case clang::BuiltinType::UnknownAny:
 6417     case clang::BuiltinType::Void:
 6418     case clang::BuiltinType::NullPtr:
 6419     case clang::BuiltinType::OCLEvent:
 6420     case clang::BuiltinType::OCLImage1dRO:
 6421     case clang::BuiltinType::OCLImage1dWO:
 6422     case clang::BuiltinType::OCLImage1dRW:
 6423     case clang::BuiltinType::OCLImage1dArrayRO:
 6424     case clang::BuiltinType::OCLImage1dArrayWO:
 6425     case clang::BuiltinType::OCLImage1dArrayRW:
 6426     case clang::BuiltinType::OCLImage1dBufferRO:
 6427     case clang::BuiltinType::OCLImage1dBufferWO:
 6428     case clang::BuiltinType::OCLImage1dBufferRW:
 6429     case clang::BuiltinType::OCLImage2dRO:
 6430     case clang::BuiltinType::OCLImage2dWO:
 6431     case clang::BuiltinType::OCLImage2dRW:
 6432     case clang::BuiltinType::OCLImage2dArrayRO:
 6433     case clang::BuiltinType::OCLImage2dArrayWO:
 6434     case clang::BuiltinType::OCLImage2dArrayRW:
 6435     case clang::BuiltinType::OCLImage3dRO:
 6436     case clang::BuiltinType::OCLImage3dWO:
 6437     case clang::BuiltinType::OCLImage3dRW:
 6438     case clang::BuiltinType::OCLSampler:
 6440     case clang::BuiltinType::Bool:
 6441     case clang::BuiltinType::Char_U:
 6442     case clang::BuiltinType::UChar:
 6443     case clang::BuiltinType::WChar_U:
 6444     case clang::BuiltinType::Char16:
 6445     case clang::BuiltinType::Char32:
 6446     case clang::BuiltinType::UShort:
 6447     case clang::BuiltinType::UInt:
 6448     case clang::BuiltinType::ULong:
 6449     case clang::BuiltinType::ULongLong:
 6450     case clang::BuiltinType::UInt128:
 6451     case clang::BuiltinType::Char_S:
 6452     case clang::BuiltinType::SChar:
 6453     case clang::BuiltinType::WChar_S:
 6454     case clang::BuiltinType::Short:
 6455     case clang::BuiltinType::Int:
 6456     case clang::BuiltinType::Long:
 6457     case clang::BuiltinType::LongLong:
 6458     case clang::BuiltinType::Int128:
 6459     case clang::BuiltinType::Float:
 6460     case clang::BuiltinType::Double:
 6461     case clang::BuiltinType::LongDouble:
 6462     case clang::BuiltinType::Dependent:
 6463     case clang::BuiltinType::Overload:
 6464     case clang::BuiltinType::ObjCId:
 6465     case clang::BuiltinType::ObjCClass:
 6466     case clang::BuiltinType::ObjCSel:
 6467     case clang::BuiltinType::BoundMember:
 6468     case clang::BuiltinType::Half:
 6469     case clang::BuiltinType::ARCUnbridgedCast:
 6470     case clang::BuiltinType::PseudoObject:
 6471     case clang::BuiltinType::BuiltinFn:
 6472     case clang::BuiltinType::OMPArraySection:
 6592       switch (llvm::cast<clang::BuiltinType>(parent_qual_type)->getKind()) {
 6593       case clang::BuiltinType::ObjCId:
 6594       case clang::BuiltinType::ObjCClass:
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };