# If you add a symbol to this file, make sure to add it with the correct
# version.  For example, if the LLVM main branch is LLVM 14.0.0, add new
# symbols with the version LLVM_14.
# On platforms where versions scripts are not used, this file will be used to
# generate a list of exports for libclang.so

LLVM_13 {
  global:
    clang_BlockCommandComment_getArgText;
    clang_BlockCommandComment_getCommandName;
    clang_BlockCommandComment_getNumArgs;
    clang_BlockCommandComment_getParagraph;
    clang_CXCursorSet_contains;
    clang_CXCursorSet_insert;
    clang_CXIndex_getGlobalOptions;
    clang_CXIndex_setGlobalOptions;
    clang_CXIndex_setInvocationEmissionPathOption;
    clang_CXRewriter_create;
    clang_CXRewriter_dispose;
    clang_CXRewriter_insertTextBefore;
    clang_CXRewriter_overwriteChangedFiles;
    clang_CXRewriter_removeText;
    clang_CXRewriter_replaceText;
    clang_CXRewriter_writeMainFileToStdOut;
    clang_CXXConstructor_isConvertingConstructor;
    clang_CXXConstructor_isCopyConstructor;
    clang_CXXConstructor_isDefaultConstructor;
    clang_CXXConstructor_isMoveConstructor;
    clang_CXXField_isMutable;
    clang_CXXMethod_isConst;
    clang_CXXMethod_isDefaulted;
    clang_CXXMethod_isPureVirtual;
    clang_CXXMethod_isStatic;
    clang_CXXMethod_isVirtual;
    clang_CXXRecord_isAbstract;
    clang_Comment_getChild;
    clang_Comment_getKind;
    clang_Comment_getNumChildren;
    clang_Comment_isWhitespace;
    clang_CompilationDatabase_dispose;
    clang_CompilationDatabase_fromDirectory;
    clang_CompilationDatabase_getAllCompileCommands;
    clang_CompilationDatabase_getCompileCommands;
    clang_CompileCommand_getArg;
    clang_CompileCommand_getDirectory;
    clang_CompileCommand_getFilename;
    clang_CompileCommand_getMappedSourceContent;
    clang_CompileCommand_getMappedSourcePath;
    clang_CompileCommand_getNumArgs;
    clang_CompileCommand_getNumMappedSources;
    clang_CompileCommands_dispose;
    clang_CompileCommands_getCommand;
    clang_CompileCommands_getSize;
    clang_Cursor_Evaluate;
    clang_Cursor_getArgument;
    clang_Cursor_getBriefCommentText;
    clang_Cursor_getCXXManglings;
    clang_Cursor_getCommentRange;
    clang_Cursor_getMangling;
    clang_Cursor_getModule;
    clang_Cursor_getNumArguments;
    clang_Cursor_getNumTemplateArguments;
    clang_Cursor_getObjCDeclQualifiers;
    clang_Cursor_getObjCManglings;
    clang_Cursor_getObjCPropertyAttributes;
    clang_Cursor_getObjCPropertyGetterName;
    clang_Cursor_getObjCPropertySetterName;
    clang_Cursor_getObjCSelectorIndex;
    clang_Cursor_getOffsetOfField;
    clang_Cursor_getParsedComment;
    clang_Cursor_getRawCommentText;
    clang_Cursor_getReceiverType;
    clang_Cursor_getSpellingNameRange;
    clang_Cursor_getStorageClass;
    clang_Cursor_getTemplateArgumentKind;
    clang_Cursor_getTemplateArgumentType;
    clang_Cursor_getTemplateArgumentUnsignedValue;
    clang_Cursor_getTemplateArgumentValue;
    clang_Cursor_getTranslationUnit;
    clang_Cursor_getVarDeclInitializer;
    clang_Cursor_hasAttrs;
    clang_Cursor_hasVarDeclExternalStorage;
    clang_Cursor_hasVarDeclGlobalStorage;
    clang_Cursor_isAnonymous;
    clang_Cursor_isAnonymousRecordDecl;
    clang_Cursor_isBitField;
    clang_Cursor_isDynamicCall;
    clang_Cursor_isExternalSymbol;
    clang_Cursor_isFunctionInlined;
    clang_Cursor_isInlineNamespace;
    clang_Cursor_isMacroBuiltin;
    clang_Cursor_isMacroFunctionLike;
    clang_Cursor_isNull;
    clang_Cursor_isObjCOptional;
    clang_Cursor_isVariadic;
    clang_EnumDecl_isScoped;
    clang_EvalResult_dispose;
    clang_EvalResult_getAsDouble;
    clang_EvalResult_getAsInt;
    clang_EvalResult_getAsLongLong;
    clang_EvalResult_getAsStr;
    clang_EvalResult_getAsUnsigned;
    clang_EvalResult_getKind;
    clang_EvalResult_isUnsignedInt;
    clang_File_isEqual;
    clang_File_tryGetRealPathName;
    clang_FullComment_getAsHTML;
    clang_FullComment_getAsXML;
    clang_HTMLStartTagComment_isSelfClosing;
    clang_HTMLStartTag_getAttrName;
    clang_HTMLStartTag_getAttrValue;
    clang_HTMLStartTag_getNumAttrs;
    clang_HTMLTagComment_getAsString;
    clang_HTMLTagComment_getTagName;
    clang_IndexAction_create;
    clang_IndexAction_dispose;
    clang_InlineCommandComment_getArgText;
    clang_InlineCommandComment_getCommandName;
    clang_InlineCommandComment_getNumArgs;
    clang_InlineCommandComment_getRenderKind;
    clang_InlineContentComment_hasTrailingNewline;
    clang_Location_isFromMainFile;
    clang_Location_isInSystemHeader;
    clang_ModuleMapDescriptor_create;
    clang_ModuleMapDescriptor_dispose;
    clang_ModuleMapDescriptor_setFrameworkModuleName;
    clang_ModuleMapDescriptor_setUmbrellaHeader;
    clang_ModuleMapDescriptor_writeToBuffer;
    clang_Module_getASTFile;
    clang_Module_getFullName;
    clang_Module_getName;
    clang_Module_getNumTopLevelHeaders;
    clang_Module_getParent;
    clang_Module_getTopLevelHeader;
    clang_Module_isSystem;
    clang_ParamCommandComment_getDirection;
    clang_ParamCommandComment_getParamIndex;
    clang_ParamCommandComment_getParamName;
    clang_ParamCommandComment_isDirectionExplicit;
    clang_ParamCommandComment_isParamIndexValid;
    clang_PrintingPolicy_dispose;
    clang_PrintingPolicy_getProperty;
    clang_PrintingPolicy_setProperty;
    clang_Range_isNull;
    clang_TParamCommandComment_getDepth;
    clang_TParamCommandComment_getIndex;
    clang_TParamCommandComment_getParamName;
    clang_TParamCommandComment_isParamPositionValid;
    clang_TargetInfo_dispose;
    clang_TargetInfo_getPointerWidth;
    clang_TargetInfo_getTriple;
    clang_TextComment_getText;
    clang_Type_getAlignOf;
    clang_Type_getCXXRefQualifier;
    clang_Type_getClassType;
    clang_Type_getModifiedType;
    clang_Type_getNamedType;
    clang_Type_getNullability;
    clang_Type_getNumObjCProtocolRefs;
    clang_Type_getNumObjCTypeArgs;
    clang_Type_getNumTemplateArguments;
    clang_Type_getObjCEncoding;
    clang_Type_getObjCObjectBaseType;
    clang_Type_getObjCProtocolDecl;
    clang_Type_getObjCTypeArg;
    clang_Type_getOffsetOf;
    clang_Type_getSizeOf;
    clang_Type_getTemplateArgumentAsType;
    clang_Type_getValueType;
    clang_Type_isTransparentTagTypedef;
    clang_Type_visitFields;
    clang_VerbatimBlockLineComment_getText;
    clang_VerbatimLineComment_getText;
    clang_VirtualFileOverlay_addFileMapping;
    clang_VirtualFileOverlay_create;
    clang_VirtualFileOverlay_dispose;
    clang_VirtualFileOverlay_setCaseSensitivity;
    clang_VirtualFileOverlay_writeToBuffer;
    clang_annotateTokens;
    clang_codeCompleteAt;
    clang_codeCompleteGetContainerKind;
    clang_codeCompleteGetContainerUSR;
    clang_codeCompleteGetContexts;
    clang_codeCompleteGetDiagnostic;
    clang_codeCompleteGetNumDiagnostics;
    clang_codeCompleteGetObjCSelector;
    clang_constructUSR_ObjCCategory;
    clang_constructUSR_ObjCClass;
    clang_constructUSR_ObjCIvar;
    clang_constructUSR_ObjCMethod;
    clang_constructUSR_ObjCProperty;
    clang_constructUSR_ObjCProtocol;
    clang_createCXCursorSet;
    clang_createIndex;
    clang_createTranslationUnit;
    clang_createTranslationUnit2;
    clang_createTranslationUnitFromSourceFile;
    clang_defaultCodeCompleteOptions;
    clang_defaultDiagnosticDisplayOptions;
    clang_defaultEditingTranslationUnitOptions;
    clang_defaultReparseOptions;
    clang_defaultSaveOptions;
    clang_disposeCXCursorSet;
    clang_disposeCXPlatformAvailability;
    clang_disposeCXTUResourceUsage;
    clang_disposeCodeCompleteResults;
    clang_disposeDiagnostic;
    clang_disposeDiagnosticSet;
    clang_disposeIndex;
    clang_disposeOverriddenCursors;
    clang_disposeSourceRangeList;
    clang_disposeString;
    clang_disposeStringSet;
    clang_disposeTokens;
    clang_disposeTranslationUnit;
    clang_enableStackTraces;
    clang_equalCursors;
    clang_equalLocations;
    clang_equalRanges;
    clang_equalTypes;
    clang_executeOnThread;
    clang_findIncludesInFile;
    clang_findIncludesInFileWithBlock;
    clang_findReferencesInFile;
    clang_findReferencesInFileWithBlock;
    clang_formatDiagnostic;
    clang_free;
    clang_getAddressSpace;
    clang_getAllSkippedRanges;
    clang_getArgType;
    clang_getArrayElementType;
    clang_getArraySize;
    clang_getBuildSessionTimestamp;
    clang_getCString;
    clang_getCXTUResourceUsage;
    clang_getCXXAccessSpecifier;
    clang_getCanonicalCursor;
    clang_getCanonicalType;
    clang_getChildDiagnostics;
    clang_getClangVersion;
    clang_getCompletionAnnotation;
    clang_getCompletionAvailability;
    clang_getCompletionBriefComment;
    clang_getCompletionChunkCompletionString;
    clang_getCompletionChunkKind;
    clang_getCompletionChunkText;
    clang_getCompletionFixIt;
    clang_getCompletionNumAnnotations;
    clang_getCompletionNumFixIts;
    clang_getCompletionParent;
    clang_getCompletionPriority;
    clang_getCursor;
    clang_getCursorAvailability;
    clang_getCursorCompletionString;
    clang_getCursorDefinition;
    clang_getCursorDisplayName;
    clang_getCursorExceptionSpecificationType;
    clang_getCursorExtent;
    clang_getCursorKind;
    clang_getCursorKindSpelling;
    clang_getCursorLanguage;
    clang_getCursorLexicalParent;
    clang_getCursorLinkage;
    clang_getCursorLocation;
    clang_getCursorPlatformAvailability;
    clang_getCursorPrettyPrinted;
    clang_getCursorPrintingPolicy;
    clang_getCursorReferenceNameRange;
    clang_getCursorReferenced;
    clang_getCursorResultType;
    clang_getCursorSemanticParent;
    clang_getCursorSpelling;
    clang_getCursorTLSKind;
    clang_getCursorType;
    clang_getCursorUSR;
    clang_getCursorVisibility;
    clang_getDeclObjCTypeEncoding;
    clang_getDefinitionSpellingAndExtent;
    clang_getDiagnostic;
    clang_getDiagnosticCategory;
    clang_getDiagnosticCategoryName;
    clang_getDiagnosticCategoryText;
    clang_getDiagnosticFixIt;
    clang_getDiagnosticInSet;
    clang_getDiagnosticLocation;
    clang_getDiagnosticNumFixIts;
    clang_getDiagnosticNumRanges;
    clang_getDiagnosticOption;
    clang_getDiagnosticRange;
    clang_getDiagnosticSetFromTU;
    clang_getDiagnosticSeverity;
    clang_getDiagnosticSpelling;
    clang_getElementType;
    clang_getEnumConstantDeclUnsignedValue;
    clang_getEnumConstantDeclValue;
    clang_getEnumDeclIntegerType;
    clang_getExceptionSpecificationType;
    clang_getExpansionLocation;
    clang_getFieldDeclBitWidth;
    clang_getFile;
    clang_getFileContents;
    clang_getFileLocation;
    clang_getFileName;
    clang_getFileTime;
    clang_getFileUniqueID;
    clang_getFunctionTypeCallingConv;
    clang_getIBOutletCollectionType;
    clang_getIncludedFile;
    clang_getInclusions;
    clang_getInstantiationLocation;
    clang_getLocation;
    clang_getLocationForOffset;
    clang_getModuleForFile;
    clang_getNullCursor;
    clang_getNullLocation;
    clang_getNullRange;
    clang_getNumArgTypes;
    clang_getNumCompletionChunks;
    clang_getNumDiagnostics;
    clang_getNumDiagnosticsInSet;
    clang_getNumElements;
    clang_getNumOverloadedDecls;
    clang_getOverloadedDecl;
    clang_getOverriddenCursors;
    clang_getPointeeType;
    clang_getPresumedLocation;
    clang_getRange;
    clang_getRangeEnd;
    clang_getRangeStart;
    clang_getRemappings;
    clang_getRemappingsFromFileList;
    clang_getResultType;
    clang_getSkippedRanges;
    clang_getSpecializedCursorTemplate;
    clang_getSpellingLocation;
    clang_getTUResourceUsageName;
    clang_getTemplateCursorKind;
    clang_getToken;
    clang_getTokenExtent;
    clang_getTokenKind;
    clang_getTokenLocation;
    clang_getTokenSpelling;
    clang_getTranslationUnitCursor;
    clang_getTranslationUnitSpelling;
    clang_getTranslationUnitTargetInfo;
    clang_getTypeDeclaration;
    clang_getTypeKindSpelling;
    clang_getTypeSpelling;
    clang_getTypedefDeclUnderlyingType;
    clang_getTypedefName;
    clang_hashCursor;
    clang_indexLoc_getCXSourceLocation;
    clang_indexLoc_getFileLocation;
    clang_indexSourceFile;
    clang_indexSourceFileFullArgv;
    clang_indexTranslationUnit;
    clang_index_getCXXClassDeclInfo;
    clang_index_getClientContainer;
    clang_index_getClientEntity;
    clang_index_getIBOutletCollectionAttrInfo;
    clang_index_getObjCCategoryDeclInfo;
    clang_index_getObjCContainerDeclInfo;
    clang_index_getObjCInterfaceDeclInfo;
    clang_index_getObjCPropertyDeclInfo;
    clang_index_getObjCProtocolRefListInfo;
    clang_index_isEntityObjCContainerKind;
    clang_index_setClientContainer;
    clang_index_setClientEntity;
    clang_install_aborting_llvm_fatal_error_handler;
    clang_isAttribute;
    clang_isConstQualifiedType;
    clang_isCursorDefinition;
    clang_isDeclaration;
    clang_isExpression;
    clang_isFileMultipleIncludeGuarded;
    clang_isFunctionTypeVariadic;
    clang_isInvalid;
    clang_isInvalidDeclaration;
    clang_isPODType;
    clang_isPreprocessing;
    clang_isReference;
    clang_isRestrictQualifiedType;
    clang_isStatement;
    clang_isTranslationUnit;
    clang_isUnexposed;
    clang_isVirtualBase;
    clang_isVolatileQualifiedType;
    clang_loadDiagnostics;
    clang_parseTranslationUnit;
    clang_parseTranslationUnit2;
    clang_parseTranslationUnit2FullArgv;
    clang_remap_dispose;
    clang_remap_getFilenames;
    clang_remap_getNumFiles;
    clang_reparseTranslationUnit;
    clang_saveTranslationUnit;
    clang_sortCodeCompletionResults;
    clang_suspendTranslationUnit;
    clang_toggleCrashRecovery;
    clang_tokenize;
    clang_uninstall_llvm_fatal_error_handler;
    clang_visitChildren;
    clang_visitChildrenWithBlock;

  local: *;
};

# Example of how to add a new symbol version entry.  If you do add a new symbol
# version, please update the example to depend on the version you added.
# LLVM_X {
# global:
#   clang_newsymbol;
# };
