003 File Manager
Current Path:
/usr/src/contrib/llvm-project/clang/include/clang/AST
usr
/
src
/
contrib
/
llvm-project
/
clang
/
include
/
clang
/
AST
/
📁
..
📄
APValue.h
(20.92 KB)
📄
AST.h
(907 B)
📄
ASTConcept.h
(7.02 KB)
📄
ASTConsumer.h
(5.99 KB)
📄
ASTContext.h
(122.68 KB)
📄
ASTContextAllocate.h
(1.33 KB)
📄
ASTDiagnostic.h
(1.34 KB)
📄
ASTDumper.h
(1.59 KB)
📄
ASTDumperUtils.h
(3.49 KB)
📄
ASTFwd.h
(1.01 KB)
📄
ASTImporter.h
(22.86 KB)
📄
ASTImporterLookupTable.h
(2.7 KB)
📄
ASTImporterSharedState.h
(2.51 KB)
📄
ASTLambda.h
(3.04 KB)
📄
ASTMutationListener.h
(5.84 KB)
📄
ASTNodeTraverser.h
(21.38 KB)
📄
ASTStructuralEquivalence.h
(5.08 KB)
📄
ASTTypeTraits.h
(19.65 KB)
📄
ASTUnresolvedSet.h
(3.37 KB)
📄
ASTVector.h
(11.75 KB)
📄
AbstractBasicReader.h
(8.82 KB)
📄
AbstractBasicWriter.h
(7.97 KB)
📄
AbstractTypeReader.h
(922 B)
📄
AbstractTypeWriter.h
(944 B)
📄
Attr.h
(11.87 KB)
📄
AttrIterator.h
(4.14 KB)
📄
AttrVisitor.h
(2.56 KB)
📄
Availability.h
(1.97 KB)
📄
BaseSubobject.h
(2.74 KB)
📄
BuiltinTypes.def
(9.91 KB)
📄
CXXInheritance.h
(14.87 KB)
📄
CXXRecordDeclDefinitionBits.def
(9.23 KB)
📄
CanonicalType.h
(24.86 KB)
📄
CharUnits.h
(8.02 KB)
📄
Comment.h
(31.03 KB)
📄
CommentBriefParser.h
(1.39 KB)
📄
CommentCommandTraits.h
(5.86 KB)
📄
CommentCommands.td
(9.27 KB)
📄
CommentDiagnostic.h
(509 B)
📄
CommentHTMLNamedCharacterReferences.td
(4.98 KB)
📄
CommentHTMLTags.td
(2.17 KB)
📄
CommentLexer.h
(9.96 KB)
📄
CommentParser.h
(3.24 KB)
📄
CommentSema.h
(9.87 KB)
📄
CommentVisitor.h
(2.38 KB)
📄
ComparisonCategories.h
(7.41 KB)
📄
ComputeDependence.h
(7.41 KB)
📄
CurrentSourceLocExprScope.h
(2.43 KB)
📄
DataCollection.h
(2.45 KB)
📄
Decl.h
(168.07 KB)
📄
DeclAccessPair.h
(1.77 KB)
📄
DeclBase.h
(93.13 KB)
📄
DeclCXX.h
(151.69 KB)
📄
DeclContextInternals.h
(8.22 KB)
📄
DeclFriend.h
(8.06 KB)
📄
DeclGroup.h
(4.11 KB)
📄
DeclLookups.h
(3.64 KB)
📄
DeclObjC.h
(101.2 KB)
📄
DeclObjCCommon.h
(1.72 KB)
📄
DeclOpenMP.h
(19.33 KB)
📄
DeclTemplate.h
(122.19 KB)
📄
DeclVisitor.h
(2.51 KB)
📄
DeclarationName.h
(33.77 KB)
📄
DependenceFlags.h
(10.99 KB)
📄
DependentDiagnostic.h
(5.4 KB)
📄
EvaluatedExprVisitor.h
(4.45 KB)
📄
Expr.h
(234.85 KB)
📄
ExprCXX.h
(169.78 KB)
📄
ExprConcepts.h
(19.62 KB)
📄
ExprObjC.h
(58.96 KB)
📄
ExprOpenMP.h
(15.48 KB)
📄
ExternalASTMerger.h
(8.11 KB)
📄
ExternalASTSource.h
(20.55 KB)
📄
FormatString.h
(22.81 KB)
📄
GlobalDecl.h
(7.16 KB)
📄
JSONNodeDumper.h
(17.53 KB)
📄
LambdaCapture.h
(4.71 KB)
📄
LexicallyOrderedRecursiveASTVisitor.h
(5.92 KB)
📄
LocInfoType.h
(1.84 KB)
📄
Mangle.h
(10.65 KB)
📄
MangleNumberingContext.h
(2 KB)
📄
NSAPI.h
(9.23 KB)
📄
NestedNameSpecifier.h
(18.53 KB)
📄
NonTrivialTypeVisitor.h
(4 KB)
📄
ODRHash.h
(3.42 KB)
📄
OSLog.h
(5.08 KB)
📄
OpenMPClause.h
(276.08 KB)
📄
OperationKinds.def
(14.91 KB)
📄
OperationKinds.h
(1.5 KB)
📄
OptionalDiagnostic.h
(2.39 KB)
📄
ParentMap.h
(1.89 KB)
📄
ParentMapContext.h
(4.74 KB)
📄
PrettyDeclStackTrace.h
(1.39 KB)
📄
PrettyPrinter.h
(8.47 KB)
📄
PropertiesBase.td
(17.03 KB)
📄
QualTypeNames.h
(3.15 KB)
📄
RawCommentList.h
(6.6 KB)
📄
RecordLayout.h
(11.49 KB)
📄
RecursiveASTVisitor.h
(124.41 KB)
📄
Redeclarable.h
(14.34 KB)
📄
SelectorLocationsKind.h
(3.28 KB)
📄
Stmt.h
(113 KB)
📄
StmtCXX.h
(17.59 KB)
📄
StmtDataCollectors.td
(5.64 KB)
📄
StmtGraphTraits.h
(2.18 KB)
📄
StmtIterator.h
(4.2 KB)
📄
StmtObjC.h
(12.86 KB)
📄
StmtOpenMP.h
(189.5 KB)
📄
StmtVisitor.h
(8.74 KB)
📄
TemplateArgumentVisitor.h
(3.38 KB)
📄
TemplateBase.h
(22.86 KB)
📄
TemplateName.h
(19.34 KB)
📄
TextNodeDumper.h
(15.7 KB)
📄
Type.h
(248.38 KB)
📄
TypeLoc.h
(73.03 KB)
📄
TypeLocNodes.def
(1.45 KB)
📄
TypeLocVisitor.h
(1.76 KB)
📄
TypeOrdering.h
(2.38 KB)
📄
TypeProperties.td
(25.87 KB)
📄
TypeVisitor.h
(3.32 KB)
📄
UnresolvedSet.h
(5.25 KB)
📄
VTTBuilder.h
(5.19 KB)
📄
VTableBuilder.h
(20.31 KB)
Editing: BuiltinTypes.def
//===-- BuiltinTypes.def - Metadata about BuiltinTypes ----------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the database about various builtin singleton types. // // BuiltinType::Id is the enumerator defining the type. // // Context.SingletonId is the global singleton of this type. Some global // singletons are shared by multiple types. // // BUILTIN_TYPE(Id, SingletonId) - A builtin type that has not been // covered by any other #define. Defining this macro covers all // the builtins. // // SIGNED_TYPE(Id, SingletonId) - A signed integral type. // // UNSIGNED_TYPE(Id, SingletonId) - An unsigned integral type. // // FLOATING_TYPE(Id, SingletonId) - A floating-point type. // // PLACEHOLDER_TYPE(Id, SingletonId) - A placeholder type. Placeholder // types are used to perform context-sensitive checking of specific // forms of expression. // // SHARED_SINGLETON_TYPE(Expansion) - The given expansion corresponds // to a builtin which uses a shared singleton type. // //===----------------------------------------------------------------------===// #ifndef SIGNED_TYPE #define SIGNED_TYPE(Id, SingletonId) BUILTIN_TYPE(Id, SingletonId) #endif #ifndef UNSIGNED_TYPE #define UNSIGNED_TYPE(Id, SingletonId) BUILTIN_TYPE(Id, SingletonId) #endif #ifndef FLOATING_TYPE #define FLOATING_TYPE(Id, SingletonId) BUILTIN_TYPE(Id, SingletonId) #endif #ifndef PLACEHOLDER_TYPE #define PLACEHOLDER_TYPE(Id, SingletonId) BUILTIN_TYPE(Id, SingletonId) #endif #ifndef SHARED_SINGLETON_TYPE #define SHARED_SINGLETON_TYPE(Expansion) Expansion #endif //===- Builtin Types ------------------------------------------------------===// // void BUILTIN_TYPE(Void, VoidTy) //===- Unsigned Types -----------------------------------------------------===// // 'bool' in C++, '_Bool' in C99 UNSIGNED_TYPE(Bool, BoolTy) // 'char' for targets where it's unsigned SHARED_SINGLETON_TYPE(UNSIGNED_TYPE(Char_U, CharTy)) // 'unsigned char', explicitly qualified UNSIGNED_TYPE(UChar, UnsignedCharTy) // 'wchar_t' for targets where it's unsigned SHARED_SINGLETON_TYPE(UNSIGNED_TYPE(WChar_U, WCharTy)) // 'char8_t' in C++20 (proposed) UNSIGNED_TYPE(Char8, Char8Ty) // 'char16_t' in C++ UNSIGNED_TYPE(Char16, Char16Ty) // 'char32_t' in C++ UNSIGNED_TYPE(Char32, Char32Ty) // 'unsigned short' UNSIGNED_TYPE(UShort, UnsignedShortTy) // 'unsigned int' UNSIGNED_TYPE(UInt, UnsignedIntTy) // 'unsigned long' UNSIGNED_TYPE(ULong, UnsignedLongTy) // 'unsigned long long' UNSIGNED_TYPE(ULongLong, UnsignedLongLongTy) // '__uint128_t' UNSIGNED_TYPE(UInt128, UnsignedInt128Ty) //===- Signed Types -------------------------------------------------------===// // 'char' for targets where it's signed SHARED_SINGLETON_TYPE(SIGNED_TYPE(Char_S, CharTy)) // 'signed char', explicitly qualified SIGNED_TYPE(SChar, SignedCharTy) // 'wchar_t' for targets where it's signed SHARED_SINGLETON_TYPE(SIGNED_TYPE(WChar_S, WCharTy)) // 'short' or 'signed short' SIGNED_TYPE(Short, ShortTy) // 'int' or 'signed int' SIGNED_TYPE(Int, IntTy) // 'long' or 'signed long' SIGNED_TYPE(Long, LongTy) // 'long long' or 'signed long long' SIGNED_TYPE(LongLong, LongLongTy) // '__int128_t' SIGNED_TYPE(Int128, Int128Ty) //===- Fixed point types --------------------------------------------------===// // 'short _Accum' SIGNED_TYPE(ShortAccum, ShortAccumTy) // '_Accum' SIGNED_TYPE(Accum, AccumTy) // 'long _Accum' SIGNED_TYPE(LongAccum, LongAccumTy) // 'unsigned short _Accum' UNSIGNED_TYPE(UShortAccum, UnsignedShortAccumTy) // 'unsigned _Accum' UNSIGNED_TYPE(UAccum, UnsignedAccumTy) // 'unsigned long _Accum' UNSIGNED_TYPE(ULongAccum, UnsignedLongAccumTy) // 'short _Fract' SIGNED_TYPE(ShortFract, ShortFractTy) // '_Fract' SIGNED_TYPE(Fract, FractTy) // 'long _Fract' SIGNED_TYPE(LongFract, LongFractTy) // 'unsigned short _Fract' UNSIGNED_TYPE(UShortFract, UnsignedShortFractTy) // 'unsigned _Fract' UNSIGNED_TYPE(UFract, UnsignedFractTy) // 'unsigned long _Fract' UNSIGNED_TYPE(ULongFract, UnsignedLongFractTy) // '_Sat short _Accum' SIGNED_TYPE(SatShortAccum, SatShortAccumTy) // '_Sat _Accum' SIGNED_TYPE(SatAccum, SatAccumTy) // '_Sat long _Accum' SIGNED_TYPE(SatLongAccum, SatLongAccumTy) // '_Sat unsigned short _Accum' UNSIGNED_TYPE(SatUShortAccum, SatUnsignedShortAccumTy) // '_Sat unsigned _Accum' UNSIGNED_TYPE(SatUAccum, SatUnsignedAccumTy) // '_Sat unsigned long _Accum' UNSIGNED_TYPE(SatULongAccum, SatUnsignedLongAccumTy) // '_Sat short _Fract' SIGNED_TYPE(SatShortFract, SatShortFractTy) // '_Sat _Fract' SIGNED_TYPE(SatFract, SatFractTy) // '_Sat long _Fract' SIGNED_TYPE(SatLongFract, SatLongFractTy) // '_Sat unsigned short _Fract' UNSIGNED_TYPE(SatUShortFract, SatUnsignedShortFractTy) // '_Sat unsigned _Fract' UNSIGNED_TYPE(SatUFract, SatUnsignedFractTy) // '_Sat unsigned long _Fract' UNSIGNED_TYPE(SatULongFract, SatUnsignedLongFractTy) //===- Floating point types -----------------------------------------------===// // 'half' in OpenCL, '__fp16' in ARM NEON. FLOATING_TYPE(Half, HalfTy) // 'float' FLOATING_TYPE(Float, FloatTy) // 'double' FLOATING_TYPE(Double, DoubleTy) // 'long double' FLOATING_TYPE(LongDouble, LongDoubleTy) // '_Float16' FLOATING_TYPE(Float16, HalfTy) // '__bf16' FLOATING_TYPE(BFloat16, BFloat16Ty) // '__float128' FLOATING_TYPE(Float128, Float128Ty) //===- Language-specific types --------------------------------------------===// // This is the type of C++0x 'nullptr'. BUILTIN_TYPE(NullPtr, NullPtrTy) // The primitive Objective C 'id' type. The user-visible 'id' // type is a typedef of an ObjCObjectPointerType to an // ObjCObjectType with this as its base. In fact, this only ever // shows up in an AST as the base type of an ObjCObjectType. BUILTIN_TYPE(ObjCId, ObjCBuiltinIdTy) // The primitive Objective C 'Class' type. The user-visible // 'Class' type is a typedef of an ObjCObjectPointerType to an // ObjCObjectType with this as its base. In fact, this only ever // shows up in an AST as the base type of an ObjCObjectType. BUILTIN_TYPE(ObjCClass, ObjCBuiltinClassTy) // The primitive Objective C 'SEL' type. The user-visible 'SEL' // type is a typedef of a PointerType to this. BUILTIN_TYPE(ObjCSel, ObjCBuiltinSelTy) // OpenCL sampler_t. BUILTIN_TYPE(OCLSampler, OCLSamplerTy) // OpenCL event_t. BUILTIN_TYPE(OCLEvent, OCLEventTy) // OpenCL clk_event_t. BUILTIN_TYPE(OCLClkEvent, OCLClkEventTy) // OpenCL queue_t. BUILTIN_TYPE(OCLQueue, OCLQueueTy) // OpenCL reserve_id_t. BUILTIN_TYPE(OCLReserveID, OCLReserveIDTy) // This represents the type of an expression whose type is // totally unknown, e.g. 'T::foo'. It is permitted for this to // appear in situations where the structure of the type is // theoretically deducible. BUILTIN_TYPE(Dependent, DependentTy) // The type of an unresolved overload set. A placeholder type. // Expressions with this type have one of the following basic // forms, with parentheses generally permitted: // foo # possibly qualified, not if an implicit access // foo # possibly qualified, not if an implicit access // &foo # possibly qualified, not if an implicit access // x->foo # only if might be a static member function // &x->foo # only if might be a static member function // &Class::foo # when a pointer-to-member; sub-expr also has this type // OverloadExpr::find can be used to analyze the expression. // // Overload should be the first placeholder type, or else change // BuiltinType::isNonOverloadPlaceholderType() PLACEHOLDER_TYPE(Overload, OverloadTy) // The type of a bound C++ non-static member function. // A placeholder type. Expressions with this type have one of the // following basic forms: // foo # if an implicit access // x->foo # if only contains non-static members PLACEHOLDER_TYPE(BoundMember, BoundMemberTy) // The type of an expression which refers to a pseudo-object, // such as those introduced by Objective C's @property or // VS.NET's __property declarations. A placeholder type. The // pseudo-object is actually accessed by emitting a call to // some sort of function or method; typically there is a pair // of a setter and a getter, with the setter used if the // pseudo-object reference is used syntactically as the // left-hand-side of an assignment operator. // // A pseudo-object reference naming an Objective-C @property is // always a dot access with a base of object-pointer type, // e.g. 'x.foo'. // // In VS.NET, a __property declaration creates an implicit // member with an associated name, which can then be named // in any of the normal ways an ordinary member could be. PLACEHOLDER_TYPE(PseudoObject, PseudoObjectTy) // __builtin_any_type. A placeholder type. Useful for clients // like debuggers that don't know what type to give something. // Only a small number of operations are valid on expressions of // unknown type, most notably explicit casts. PLACEHOLDER_TYPE(UnknownAny, UnknownAnyTy) PLACEHOLDER_TYPE(BuiltinFn, BuiltinFnTy) // The type of a cast which, in ARC, would normally require a // __bridge, but which might be okay depending on the immediate // context. PLACEHOLDER_TYPE(ARCUnbridgedCast, ARCUnbridgedCastTy) // A placeholder type for incomplete matrix index expressions. PLACEHOLDER_TYPE(IncompleteMatrixIdx, IncompleteMatrixIdxTy) // A placeholder type for OpenMP array sections. PLACEHOLDER_TYPE(OMPArraySection, OMPArraySectionTy) // A placeholder type for OpenMP array shaping operation. PLACEHOLDER_TYPE(OMPArrayShaping, OMPArrayShapingTy) // A placeholder type for OpenMP iterators. PLACEHOLDER_TYPE(OMPIterator, OMPIteratorTy) #ifdef LAST_BUILTIN_TYPE LAST_BUILTIN_TYPE(OMPIterator) #undef LAST_BUILTIN_TYPE #endif #undef SHARED_SINGLETON_TYPE #undef PLACEHOLDER_TYPE #undef FLOATING_TYPE #undef SIGNED_TYPE #undef UNSIGNED_TYPE #undef BUILTIN_TYPE
Upload File
Create Folder