-
-
Save vitalybuka/82f6c5b2ab51ee027df13c2c35a95ffb to your computer and use it in GitHub Desktop.
slow ubsan
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/unittests/Tooling/SourceCodeTest.cpp" | |
# 1 "<built-in>" 1 | |
# 1 "<built-in>" 3 | |
# 436 "<built-in>" 3 | |
# 1 "<command line>" 1 | |
# 1 "<built-in>" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/unittests/Tooling/SourceCodeTest.cpp" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Tooling/Transformer/SourceCode.h" 1 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Tooling/Transformer/SourceCode.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTContext.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTContext.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" | |
namespace clang { | |
class Decl; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" 1 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class AccessSpecDecl; | |
class BlockDecl; | |
class CapturedDecl; | |
class ClassScopeFunctionSpecializationDecl; | |
class EmptyDecl; | |
class ExportDecl; | |
class ExternCContextDecl; | |
class FileScopeAsmDecl; | |
class FriendDecl; | |
class FriendTemplateDecl; | |
class ImplicitConceptSpecializationDecl; | |
class ImportDecl; | |
class LifetimeExtendedTemporaryDecl; | |
class LinkageSpecDecl; | |
class NamedDecl; | |
class BaseUsingDecl; | |
class UsingDecl; | |
class UsingEnumDecl; | |
# 131 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class HLSLBufferDecl; | |
class LabelDecl; | |
class NamespaceDecl; | |
class NamespaceAliasDecl; | |
class ObjCCompatibleAliasDecl; | |
class ObjCContainerDecl; | |
class ObjCCategoryDecl; | |
class ObjCImplDecl; | |
class ObjCCategoryImplDecl; | |
class ObjCImplementationDecl; | |
# 191 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class ObjCInterfaceDecl; | |
class ObjCProtocolDecl; | |
# 207 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class ObjCMethodDecl; | |
class ObjCPropertyDecl; | |
class TemplateDecl; | |
class BuiltinTemplateDecl; | |
class ConceptDecl; | |
class RedeclarableTemplateDecl; | |
class ClassTemplateDecl; | |
class FunctionTemplateDecl; | |
class TypeAliasTemplateDecl; | |
class VarTemplateDecl; | |
# 267 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class TemplateTemplateParmDecl; | |
# 277 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class TypeDecl; | |
class TagDecl; | |
class EnumDecl; | |
class RecordDecl; | |
class CXXRecordDecl; | |
class ClassTemplateSpecializationDecl; | |
class ClassTemplatePartialSpecializationDecl; | |
# 325 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class TemplateTypeParmDecl; | |
class TypedefNameDecl; | |
class ObjCTypeParamDecl; | |
class TypeAliasDecl; | |
class TypedefDecl; | |
# 357 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class UnresolvedUsingTypenameDecl; | |
# 367 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class UnresolvedUsingIfExistsDecl; | |
class UsingDirectiveDecl; | |
class UsingPackDecl; | |
class UsingShadowDecl; | |
class ConstructorUsingShadowDecl; | |
# 399 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class ValueDecl; | |
class BindingDecl; | |
class DeclaratorDecl; | |
class FieldDecl; | |
class ObjCAtDefsFieldDecl; | |
class ObjCIvarDecl; | |
# 433 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class FunctionDecl; | |
class CXXDeductionGuideDecl; | |
class CXXMethodDecl; | |
class CXXConstructorDecl; | |
class CXXConversionDecl; | |
class CXXDestructorDecl; | |
# 473 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class MSPropertyDecl; | |
class NonTypeTemplateParmDecl; | |
class VarDecl; | |
class DecompositionDecl; | |
class ImplicitParamDecl; | |
class OMPCapturedExprDecl; | |
class ParmVarDecl; | |
class VarTemplateSpecializationDecl; | |
class VarTemplatePartialSpecializationDecl; | |
# 535 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class EnumConstantDecl; | |
class IndirectFieldDecl; | |
class MSGuidDecl; | |
class OMPDeclareMapperDecl; | |
class OMPDeclareReductionDecl; | |
class TemplateParamObjectDecl; | |
class UnnamedGlobalConstantDecl; | |
class UnresolvedUsingValueDecl; | |
# 591 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/DeclNodes.inc" | |
class OMPAllocateDecl; | |
class OMPRequiresDecl; | |
class OMPThreadPrivateDecl; | |
class ObjCPropertyImplDecl; | |
class PragmaCommentDecl; | |
class PragmaDetectMismatchDecl; | |
class RequiresExprBodyDecl; | |
class StaticAssertDecl; | |
class TopLevelStmtDecl; | |
class TranslationUnitDecl; | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 2 | |
class Stmt; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" 1 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class AsmStmt; | |
class GCCAsmStmt; | |
class MSAsmStmt; | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class BreakStmt; | |
class CXXCatchStmt; | |
class CXXForRangeStmt; | |
class CXXTryStmt; | |
class CapturedStmt; | |
class CompoundStmt; | |
class ContinueStmt; | |
class CoreturnStmt; | |
class CoroutineBodyStmt; | |
class DeclStmt; | |
class DoStmt; | |
class ForStmt; | |
class GotoStmt; | |
class IfStmt; | |
class IndirectGotoStmt; | |
class MSDependentExistsStmt; | |
class NullStmt; | |
class OMPCanonicalLoop; | |
class OMPExecutableDirective; | |
class OMPAtomicDirective; | |
class OMPBarrierDirective; | |
class OMPCancelDirective; | |
class OMPCancellationPointDirective; | |
class OMPCriticalDirective; | |
class OMPDepobjDirective; | |
class OMPDispatchDirective; | |
class OMPErrorDirective; | |
class OMPFlushDirective; | |
class OMPInteropDirective; | |
class OMPLoopBasedDirective; | |
class OMPLoopDirective; | |
class OMPDistributeDirective; | |
class OMPDistributeParallelForDirective; | |
class OMPDistributeParallelForSimdDirective; | |
class OMPDistributeSimdDirective; | |
class OMPForDirective; | |
class OMPForSimdDirective; | |
class OMPGenericLoopDirective; | |
class OMPMaskedTaskLoopDirective; | |
class OMPMaskedTaskLoopSimdDirective; | |
class OMPMasterTaskLoopDirective; | |
class OMPMasterTaskLoopSimdDirective; | |
class OMPParallelForDirective; | |
class OMPParallelForSimdDirective; | |
class OMPParallelGenericLoopDirective; | |
class OMPParallelMaskedTaskLoopDirective; | |
class OMPParallelMaskedTaskLoopSimdDirective; | |
class OMPParallelMasterTaskLoopDirective; | |
class OMPParallelMasterTaskLoopSimdDirective; | |
class OMPSimdDirective; | |
class OMPTargetParallelForSimdDirective; | |
class OMPTargetParallelGenericLoopDirective; | |
class OMPTargetSimdDirective; | |
class OMPTargetTeamsDistributeDirective; | |
class OMPTargetTeamsDistributeParallelForDirective; | |
class OMPTargetTeamsDistributeParallelForSimdDirective; | |
class OMPTargetTeamsDistributeSimdDirective; | |
class OMPTargetTeamsGenericLoopDirective; | |
class OMPTaskLoopDirective; | |
class OMPTaskLoopSimdDirective; | |
class OMPTeamsDistributeDirective; | |
class OMPTeamsDistributeParallelForDirective; | |
class OMPTeamsDistributeParallelForSimdDirective; | |
class OMPTeamsDistributeSimdDirective; | |
class OMPTeamsGenericLoopDirective; | |
# 431 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class OMPLoopTransformationDirective; | |
class OMPTileDirective; | |
class OMPUnrollDirective; | |
# 455 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class OMPMaskedDirective; | |
class OMPMasterDirective; | |
class OMPMetaDirective; | |
class OMPOrderedDirective; | |
class OMPParallelDirective; | |
class OMPParallelMaskedDirective; | |
class OMPParallelMasterDirective; | |
class OMPParallelSectionsDirective; | |
class OMPScanDirective; | |
class OMPSectionDirective; | |
class OMPSectionsDirective; | |
class OMPSingleDirective; | |
class OMPTargetDataDirective; | |
class OMPTargetDirective; | |
class OMPTargetEnterDataDirective; | |
class OMPTargetExitDataDirective; | |
class OMPTargetParallelDirective; | |
class OMPTargetParallelForDirective; | |
class OMPTargetTeamsDirective; | |
class OMPTargetUpdateDirective; | |
class OMPTaskDirective; | |
class OMPTaskgroupDirective; | |
class OMPTaskwaitDirective; | |
class OMPTaskyieldDirective; | |
class OMPTeamsDirective; | |
# 609 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class ObjCAtCatchStmt; | |
class ObjCAtFinallyStmt; | |
class ObjCAtSynchronizedStmt; | |
class ObjCAtThrowStmt; | |
class ObjCAtTryStmt; | |
class ObjCAutoreleasePoolStmt; | |
class ObjCForCollectionStmt; | |
class ReturnStmt; | |
class SEHExceptStmt; | |
class SEHFinallyStmt; | |
class SEHLeaveStmt; | |
class SEHTryStmt; | |
class SwitchCase; | |
class CaseStmt; | |
class DefaultStmt; | |
# 701 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class SwitchStmt; | |
class ValueStmt; | |
class AttributedStmt; | |
class Expr; | |
class AbstractConditionalOperator; | |
class BinaryConditionalOperator; | |
class ConditionalOperator; | |
# 741 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class AddrLabelExpr; | |
class ArrayInitIndexExpr; | |
class ArrayInitLoopExpr; | |
class ArraySubscriptExpr; | |
class ArrayTypeTraitExpr; | |
class AsTypeExpr; | |
class AtomicExpr; | |
class BinaryOperator; | |
class CompoundAssignOperator; | |
# 797 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class BlockExpr; | |
class CXXBindTemporaryExpr; | |
class CXXBoolLiteralExpr; | |
class CXXConstructExpr; | |
class CXXTemporaryObjectExpr; | |
# 829 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class CXXDefaultArgExpr; | |
class CXXDefaultInitExpr; | |
class CXXDeleteExpr; | |
class CXXDependentScopeMemberExpr; | |
class CXXFoldExpr; | |
class CXXInheritedCtorInitExpr; | |
class CXXNewExpr; | |
class CXXNoexceptExpr; | |
class CXXNullPtrLiteralExpr; | |
class CXXParenListInitExpr; | |
class CXXPseudoDestructorExpr; | |
class CXXRewrittenBinaryOperator; | |
class CXXScalarValueInitExpr; | |
class CXXStdInitializerListExpr; | |
class CXXThisExpr; | |
class CXXThrowExpr; | |
class CXXTypeidExpr; | |
class CXXUnresolvedConstructExpr; | |
class CXXUuidofExpr; | |
class CallExpr; | |
class CUDAKernelCallExpr; | |
class CXXMemberCallExpr; | |
class CXXOperatorCallExpr; | |
class UserDefinedLiteral; | |
# 975 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class CastExpr; | |
class ExplicitCastExpr; | |
class BuiltinBitCastExpr; | |
class CStyleCastExpr; | |
class CXXFunctionalCastExpr; | |
class CXXNamedCastExpr; | |
class CXXAddrspaceCastExpr; | |
class CXXConstCastExpr; | |
class CXXDynamicCastExpr; | |
class CXXReinterpretCastExpr; | |
class CXXStaticCastExpr; | |
# 1039 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class ObjCBridgedCastExpr; | |
# 1049 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class ImplicitCastExpr; | |
# 1059 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class CharacterLiteral; | |
class ChooseExpr; | |
class CompoundLiteralExpr; | |
class ConceptSpecializationExpr; | |
class ConvertVectorExpr; | |
class CoroutineSuspendExpr; | |
class CoawaitExpr; | |
class CoyieldExpr; | |
# 1109 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class DeclRefExpr; | |
class DependentCoawaitExpr; | |
class DependentScopeDeclRefExpr; | |
class DesignatedInitExpr; | |
class DesignatedInitUpdateExpr; | |
class ExpressionTraitExpr; | |
class ExtVectorElementExpr; | |
class FixedPointLiteral; | |
class FloatingLiteral; | |
class FullExpr; | |
class ConstantExpr; | |
class ExprWithCleanups; | |
# 1183 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class FunctionParmPackExpr; | |
class GNUNullExpr; | |
class GenericSelectionExpr; | |
class ImaginaryLiteral; | |
class ImplicitValueInitExpr; | |
class InitListExpr; | |
class IntegerLiteral; | |
class LambdaExpr; | |
class MSPropertyRefExpr; | |
class MSPropertySubscriptExpr; | |
class MaterializeTemporaryExpr; | |
class MatrixSubscriptExpr; | |
class MemberExpr; | |
class NoInitExpr; | |
class OMPArraySectionExpr; | |
class OMPArrayShapingExpr; | |
class OMPIteratorExpr; | |
class ObjCArrayLiteral; | |
class ObjCAvailabilityCheckExpr; | |
class ObjCBoolLiteralExpr; | |
class ObjCBoxedExpr; | |
class ObjCDictionaryLiteral; | |
class ObjCEncodeExpr; | |
class ObjCIndirectCopyRestoreExpr; | |
class ObjCIsaExpr; | |
class ObjCIvarRefExpr; | |
class ObjCMessageExpr; | |
class ObjCPropertyRefExpr; | |
class ObjCProtocolExpr; | |
class ObjCSelectorExpr; | |
class ObjCStringLiteral; | |
class ObjCSubscriptRefExpr; | |
class OffsetOfExpr; | |
class OpaqueValueExpr; | |
class OverloadExpr; | |
class UnresolvedLookupExpr; | |
class UnresolvedMemberExpr; | |
# 1407 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class PackExpansionExpr; | |
class ParenExpr; | |
class ParenListExpr; | |
class PredefinedExpr; | |
class PseudoObjectExpr; | |
class RecoveryExpr; | |
class RequiresExpr; | |
class SYCLUniqueStableNameExpr; | |
class ShuffleVectorExpr; | |
class SizeOfPackExpr; | |
class SourceLocExpr; | |
class StmtExpr; | |
class StringLiteral; | |
class SubstNonTypeTemplateParmExpr; | |
class SubstNonTypeTemplateParmPackExpr; | |
class TypeTraitExpr; | |
class TypoExpr; | |
class UnaryExprOrTypeTraitExpr; | |
class UnaryOperator; | |
class VAArgExpr; | |
# 1531 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class LabelStmt; | |
# 1541 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/StmtNodes.inc" | |
class WhileStmt; | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 2 | |
class Type; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/TypeNodes.inc" 1 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/AST/TypeNodes.inc" | |
class AdjustedType; | |
class DecayedType; | |
class ArrayType; | |
class ConstantArrayType; | |
class DependentSizedArrayType; | |
class IncompleteArrayType; | |
class VariableArrayType; | |
class AtomicType; | |
class AttributedType; | |
class BTFTagAttributedType; | |
class BitIntType; | |
class BlockPointerType; | |
class BuiltinType; | |
class ComplexType; | |
class DecltypeType; | |
class DeducedType; | |
class AutoType; | |
class DeducedTemplateSpecializationType; | |
class DependentAddressSpaceType; | |
class DependentBitIntType; | |
class DependentNameType; | |
class DependentSizedExtVectorType; | |
class DependentTemplateSpecializationType; | |
class DependentVectorType; | |
class ElaboratedType; | |
class FunctionType; | |
class FunctionNoProtoType; | |
class FunctionProtoType; | |
class InjectedClassNameType; | |
class MacroQualifiedType; | |
class MatrixType; | |
class ConstantMatrixType; | |
class DependentSizedMatrixType; | |
class MemberPointerType; | |
class ObjCObjectPointerType; | |
class ObjCObjectType; | |
class ObjCInterfaceType; | |
class ObjCTypeParamType; | |
class PackExpansionType; | |
class ParenType; | |
class PipeType; | |
class PointerType; | |
class ReferenceType; | |
class LValueReferenceType; | |
class RValueReferenceType; | |
class SubstTemplateTypeParmPackType; | |
class SubstTemplateTypeParmType; | |
class TagType; | |
class EnumType; | |
class RecordType; | |
class TemplateSpecializationType; | |
class TemplateTypeParmType; | |
class TypeOfExprType; | |
class TypeOfType; | |
class TypedefType; | |
class UnaryTransformType; | |
class UnresolvedUsingType; | |
class UsingType; | |
class VectorType; | |
class ExtVectorType; | |
# 28 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 2 | |
class CXXCtorInitializer; | |
class OMPClause; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/include/llvm/Frontend/OpenMP/OMP.inc" 1 | |
# 4640 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/include/llvm/Frontend/OpenMP/OMP.inc" | |
class OMPAcqRelClause; | |
class OMPAcquireClause; | |
class OMPAffinityClause; | |
class OMPAlignClause; | |
class OMPAlignedClause; | |
class OMPAllocateClause; | |
class OMPAllocatorClause; | |
class OMPAtClause; | |
class OMPAtomicDefaultMemOrderClause; | |
class OMPBindClause; | |
class OMPCaptureClause; | |
class OMPCollapseClause; | |
class OMPCompareClause; | |
class OMPCopyprivateClause; | |
class OMPCopyinClause; | |
class OMPDefaultClause; | |
class OMPDefaultmapClause; | |
class OMPDependClause; | |
class OMPDepobjClause; | |
class OMPDestroyClause; | |
class OMPDetachClause; | |
class OMPDeviceClause; | |
class OMPDistScheduleClause; | |
class OMPDynamicAllocatorsClause; | |
class OMPExclusiveClause; | |
class OMPFilterClause; | |
class OMPFinalClause; | |
class OMPFirstprivateClause; | |
class OMPFlushClause; | |
class OMPFromClause; | |
class OMPFullClause; | |
class OMPGrainsizeClause; | |
class OMPHasDeviceAddrClause; | |
class OMPHintClause; | |
class OMPIfClause; | |
class OMPInReductionClause; | |
class OMPInclusiveClause; | |
class OMPInitClause; | |
class OMPIsDevicePtrClause; | |
class OMPLastprivateClause; | |
class OMPLinearClause; | |
class OMPMapClause; | |
class OMPMergeableClause; | |
class OMPMessageClause; | |
class OMPNogroupClause; | |
class OMPNowaitClause; | |
class OMPNocontextClause; | |
class OMPNontemporalClause; | |
class OMPNovariantsClause; | |
class OMPNumTasksClause; | |
class OMPNumTeamsClause; | |
class OMPNumThreadsClause; | |
class OMPXDynCGroupMemClause; | |
class OMPOrderClause; | |
class OMPOrderedClause; | |
class OMPPartialClause; | |
class OMPPriorityClause; | |
class OMPPrivateClause; | |
class OMPProcBindClause; | |
class OMPReadClause; | |
class OMPReductionClause; | |
class OMPRelaxedClause; | |
class OMPReleaseClause; | |
class OMPReverseOffloadClause; | |
class OMPSafelenClause; | |
class OMPScheduleClause; | |
class OMPSeqCstClause; | |
class OMPSeverityClause; | |
class OMPSharedClause; | |
class OMPSIMDClause; | |
class OMPSimdlenClause; | |
class OMPSizesClause; | |
class OMPTaskReductionClause; | |
class OMPThreadLimitClause; | |
class OMPThreadsClause; | |
class OMPToClause; | |
class OMPUnifiedAddressClause; | |
class OMPUnifiedSharedMemoryClause; | |
class OMPUntiedClause; | |
class OMPUpdateClause; | |
class OMPUseClause; | |
class OMPUseDeviceAddrClause; | |
class OMPUseDevicePtrClause; | |
class OMPUsesAllocatorsClause; | |
class OMPWriteClause; | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 2 | |
class Attr; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/Basic/AttrList.inc" 1 | |
# 45 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/tools/clang/include/clang/Basic/AttrList.inc" | |
class AddressSpaceAttr; | |
class AnnotateTypeAttr; | |
class ArmMveStrictPolymorphismAttr; | |
class BTFTypeTagAttr; | |
class CmseNSCallAttr; | |
class HLSLGroupSharedAddressSpaceAttr; | |
class NoDerefAttr; | |
class ObjCGCAttr; | |
class ObjCInertUnsafeUnretainedAttr; | |
class ObjCKindOfAttr; | |
class OpenCLConstantAddressSpaceAttr; | |
class OpenCLGenericAddressSpaceAttr; | |
class OpenCLGlobalAddressSpaceAttr; | |
class OpenCLGlobalDeviceAddressSpaceAttr; | |
class OpenCLGlobalHostAddressSpaceAttr; | |
class OpenCLLocalAddressSpaceAttr; | |
class OpenCLPrivateAddressSpaceAttr; | |
class Ptr32Attr; | |
class Ptr64Attr; | |
class SPtrAttr; | |
class TypeNonNullAttr; | |
class TypeNullUnspecifiedAttr; | |
class TypeNullableAttr; | |
class TypeNullableResultAttr; | |
class UPtrAttr; | |
class FallThroughAttr; | |
class LikelyAttr; | |
class MustTailAttr; | |
class OpenCLUnrollHintAttr; | |
class SuppressAttr; | |
class UnlikelyAttr; | |
class AlwaysInlineAttr; | |
class NoInlineAttr; | |
class NoMergeAttr; | |
class AArch64SVEPcsAttr; | |
class AArch64VectorPcsAttr; | |
class AMDGPUKernelCallAttr; | |
class AcquireHandleAttr; | |
class AnyX86NoCfCheckAttr; | |
class CDeclAttr; | |
class FastCallAttr; | |
class IntelOclBiccAttr; | |
class LifetimeBoundAttr; | |
class MSABIAttr; | |
class NSReturnsRetainedAttr; | |
class ObjCOwnershipAttr; | |
class PascalAttr; | |
class PcsAttr; | |
class PreserveAllAttr; | |
class PreserveMostAttr; | |
class RegCallAttr; | |
class StdCallAttr; | |
class SwiftAsyncCallAttr; | |
class SwiftCallAttr; | |
class SysVABIAttr; | |
class ThisCallAttr; | |
class VectorCallAttr; | |
class SwiftAsyncContextAttr; | |
class SwiftContextAttr; | |
class SwiftErrorResultAttr; | |
class SwiftIndirectResultAttr; | |
class AnnotateAttr; | |
class CFConsumedAttr; | |
class CarriesDependencyAttr; | |
class NSConsumedAttr; | |
class NonNullAttr; | |
class OSConsumedAttr; | |
class PassObjectSizeAttr; | |
class ReleaseHandleAttr; | |
class UseHandleAttr; | |
class HLSLSV_DispatchThreadIDAttr; | |
class HLSLSV_GroupIndexAttr; | |
class AMDGPUFlatWorkGroupSizeAttr; | |
class AMDGPUNumSGPRAttr; | |
class AMDGPUNumVGPRAttr; | |
class AMDGPUWavesPerEUAttr; | |
class ARMInterruptAttr; | |
class AVRInterruptAttr; | |
class AVRSignalAttr; | |
class AcquireCapabilityAttr; | |
class AcquiredAfterAttr; | |
class AcquiredBeforeAttr; | |
class AlignMac68kAttr; | |
class AlignNaturalAttr; | |
class AlignedAttr; | |
class AllocAlignAttr; | |
class AllocSizeAttr; | |
class AlwaysDestroyAttr; | |
class AnalyzerNoReturnAttr; | |
class AnyX86InterruptAttr; | |
class AnyX86NoCallerSavedRegistersAttr; | |
class ArcWeakrefUnavailableAttr; | |
class ArgumentWithTypeTagAttr; | |
class ArmBuiltinAliasAttr; | |
class ArtificialAttr; | |
class AsmLabelAttr; | |
class AssertCapabilityAttr; | |
class AssertExclusiveLockAttr; | |
class AssertSharedLockAttr; | |
class AssumeAlignedAttr; | |
class AssumptionAttr; | |
class AvailabilityAttr; | |
class BPFPreserveAccessIndexAttr; | |
class BTFDeclTagAttr; | |
class BlocksAttr; | |
class BuiltinAttr; | |
class C11NoReturnAttr; | |
class CFAuditedTransferAttr; | |
class CFGuardAttr; | |
class CFICanonicalJumpTableAttr; | |
class CFReturnsNotRetainedAttr; | |
class CFReturnsRetainedAttr; | |
class CFUnknownTransferAttr; | |
class CPUDispatchAttr; | |
class CPUSpecificAttr; | |
class CUDAConstantAttr; | |
class CUDADeviceAttr; | |
class CUDADeviceBuiltinSurfaceTypeAttr; | |
class CUDADeviceBuiltinTextureTypeAttr; | |
class CUDAGlobalAttr; | |
class CUDAHostAttr; | |
class CUDAInvalidTargetAttr; | |
class CUDALaunchBoundsAttr; | |
class CUDASharedAttr; | |
class CXX11NoReturnAttr; | |
class CallableWhenAttr; | |
class CallbackAttr; | |
class CapabilityAttr; | |
class CapturedRecordAttr; | |
class CleanupAttr; | |
class CmseNSEntryAttr; | |
class CodeSegAttr; | |
class ColdAttr; | |
class CommonAttr; | |
class ConstAttr; | |
class ConstInitAttr; | |
class ConstructorAttr; | |
class ConsumableAttr; | |
class ConsumableAutoCastAttr; | |
class ConsumableSetOnReadAttr; | |
class ConvergentAttr; | |
class DLLExportAttr; | |
class DLLExportStaticLocalAttr; | |
class DLLImportAttr; | |
class DLLImportStaticLocalAttr; | |
class DeprecatedAttr; | |
class DestructorAttr; | |
class DiagnoseAsBuiltinAttr; | |
class DiagnoseIfAttr; | |
class DisableSanitizerInstrumentationAttr; | |
class DisableTailCallsAttr; | |
class EmptyBasesAttr; | |
class EnableIfAttr; | |
class EnforceTCBAttr; | |
class EnforceTCBLeafAttr; | |
class EnumExtensibilityAttr; | |
class ErrorAttr; | |
class ExcludeFromExplicitInstantiationAttr; | |
class ExclusiveTrylockFunctionAttr; | |
class ExternalSourceSymbolAttr; | |
class FinalAttr; | |
class FlagEnumAttr; | |
class FlattenAttr; | |
class FormatAttr; | |
class FormatArgAttr; | |
class FunctionReturnThunksAttr; | |
class GNUInlineAttr; | |
class GuardedByAttr; | |
class GuardedVarAttr; | |
class HIPManagedAttr; | |
class HLSLNumThreadsAttr; | |
class HLSLResourceAttr; | |
class HLSLResourceBindingAttr; | |
class HLSLShaderAttr; | |
class HotAttr; | |
class IBActionAttr; | |
class IBOutletAttr; | |
class IBOutletCollectionAttr; | |
class InitPriorityAttr; | |
class InternalLinkageAttr; | |
class LTOVisibilityPublicAttr; | |
class LayoutVersionAttr; | |
class LeafAttr; | |
class LockReturnedAttr; | |
class LocksExcludedAttr; | |
class M68kInterruptAttr; | |
class MIGServerRoutineAttr; | |
class MSAllocatorAttr; | |
class MSInheritanceAttr; | |
class MSNoVTableAttr; | |
class MSP430InterruptAttr; | |
class MSStructAttr; | |
class MSVtorDispAttr; | |
class MaxFieldAlignmentAttr; | |
class MayAliasAttr; | |
class MaybeUndefAttr; | |
class MicroMipsAttr; | |
class MinSizeAttr; | |
class MinVectorWidthAttr; | |
class Mips16Attr; | |
class MipsInterruptAttr; | |
class MipsLongCallAttr; | |
class MipsShortCallAttr; | |
class NSConsumesSelfAttr; | |
class NSErrorDomainAttr; | |
class NSReturnsAutoreleasedAttr; | |
class NSReturnsNotRetainedAttr; | |
class NakedAttr; | |
class NoAliasAttr; | |
class NoCommonAttr; | |
class NoDebugAttr; | |
class NoDestroyAttr; | |
class NoDuplicateAttr; | |
class NoInstrumentFunctionAttr; | |
class NoMicroMipsAttr; | |
class NoMips16Attr; | |
class NoProfileFunctionAttr; | |
class NoRandomizeLayoutAttr; | |
class NoReturnAttr; | |
class NoSanitizeAttr; | |
class NoSpeculativeLoadHardeningAttr; | |
class NoSplitStackAttr; | |
class NoStackProtectorAttr; | |
class NoThreadSafetyAnalysisAttr; | |
class NoThrowAttr; | |
class NoUniqueAddressAttr; | |
class NoUwtableAttr; | |
class NotTailCalledAttr; | |
class OMPAllocateDeclAttr; | |
class OMPCaptureNoInitAttr; | |
class OMPDeclareTargetDeclAttr; | |
class OMPDeclareVariantAttr; | |
class OMPThreadPrivateDeclAttr; | |
class OSConsumesThisAttr; | |
class OSReturnsNotRetainedAttr; | |
class OSReturnsRetainedAttr; | |
class OSReturnsRetainedOnNonZeroAttr; | |
class OSReturnsRetainedOnZeroAttr; | |
class ObjCBridgeAttr; | |
class ObjCBridgeMutableAttr; | |
class ObjCBridgeRelatedAttr; | |
class ObjCExceptionAttr; | |
class ObjCExplicitProtocolImplAttr; | |
class ObjCExternallyRetainedAttr; | |
class ObjCIndependentClassAttr; | |
class ObjCMethodFamilyAttr; | |
class ObjCNSObjectAttr; | |
class ObjCPreciseLifetimeAttr; | |
class ObjCRequiresPropertyDefsAttr; | |
class ObjCRequiresSuperAttr; | |
class ObjCReturnsInnerPointerAttr; | |
class ObjCRootClassAttr; | |
class ObjCSubclassingRestrictedAttr; | |
class OpenCLIntelReqdSubGroupSizeAttr; | |
class OpenCLKernelAttr; | |
class OptimizeNoneAttr; | |
class OverrideAttr; | |
class OwnerAttr; | |
class OwnershipAttr; | |
class PackedAttr; | |
class ParamTypestateAttr; | |
class PatchableFunctionEntryAttr; | |
class PointerAttr; | |
class PragmaClangBSSSectionAttr; | |
class PragmaClangDataSectionAttr; | |
class PragmaClangRelroSectionAttr; | |
class PragmaClangRodataSectionAttr; | |
class PragmaClangTextSectionAttr; | |
class PreferredNameAttr; | |
class PtGuardedByAttr; | |
class PtGuardedVarAttr; | |
class PureAttr; | |
class RISCVInterruptAttr; | |
class RandomizeLayoutAttr; | |
class ReadOnlyPlacementAttr; | |
class ReinitializesAttr; | |
class ReleaseCapabilityAttr; | |
class ReqdWorkGroupSizeAttr; | |
class RequiresCapabilityAttr; | |
class RestrictAttr; | |
class RetainAttr; | |
class ReturnTypestateAttr; | |
class ReturnsNonNullAttr; | |
class ReturnsTwiceAttr; | |
class SYCLKernelAttr; | |
class SYCLSpecialClassAttr; | |
class ScopedLockableAttr; | |
class SectionAttr; | |
class SelectAnyAttr; | |
class SentinelAttr; | |
class SetTypestateAttr; | |
class SharedTrylockFunctionAttr; | |
class SpeculativeLoadHardeningAttr; | |
class StandaloneDebugAttr; | |
class StrictFPAttr; | |
class StrictGuardStackCheckAttr; | |
class SwiftAsyncAttr; | |
class SwiftAsyncErrorAttr; | |
class SwiftAsyncNameAttr; | |
class SwiftAttrAttr; | |
class SwiftBridgeAttr; | |
class SwiftBridgedTypedefAttr; | |
class SwiftErrorAttr; | |
class SwiftNameAttr; | |
class SwiftNewTypeAttr; | |
class SwiftPrivateAttr; | |
class TLSModelAttr; | |
class TargetAttr; | |
class TargetClonesAttr; | |
class TargetVersionAttr; | |
class TestTypestateAttr; | |
class TransparentUnionAttr; | |
class TrivialABIAttr; | |
class TryAcquireCapabilityAttr; | |
class TypeTagForDatatypeAttr; | |
class TypeVisibilityAttr; | |
class UnavailableAttr; | |
class UninitializedAttr; | |
class UnsafeBufferUsageAttr; | |
class UnusedAttr; | |
class UsedAttr; | |
class UsingIfExistsAttr; | |
class UuidAttr; | |
class VecReturnAttr; | |
class VecTypeHintAttr; | |
class VisibilityAttr; | |
class WarnUnusedAttr; | |
class WarnUnusedResultAttr; | |
class WeakAttr; | |
class WeakImportAttr; | |
class WeakRefAttr; | |
class WebAssemblyExportNameAttr; | |
class WebAssemblyImportModuleAttr; | |
class WebAssemblyImportNameAttr; | |
class WorkGroupSizeHintAttr; | |
class X86ForceAlignArgPointerAttr; | |
class XRayInstrumentAttr; | |
class XRayLogArgsAttr; | |
class ZeroCallUsedRegsAttr; | |
class AbiTagAttr; | |
class AliasAttr; | |
class AlignValueAttr; | |
class BuiltinAliasAttr; | |
class CalledOnceAttr; | |
class IFuncAttr; | |
class InitSegAttr; | |
class LoaderUninitializedAttr; | |
class LoopHintAttr; | |
class ModeAttr; | |
class NoBuiltinAttr; | |
class NoEscapeAttr; | |
class OMPCaptureKindAttr; | |
class OMPDeclareSimdDeclAttr; | |
class OMPReferencedVarAttr; | |
class ObjCBoxableAttr; | |
class ObjCClassStubAttr; | |
class ObjCDesignatedInitializerAttr; | |
class ObjCDirectAttr; | |
class ObjCDirectMembersAttr; | |
class ObjCNonLazyClassAttr; | |
class ObjCNonRuntimeProtocolAttr; | |
class ObjCRuntimeNameAttr; | |
class ObjCRuntimeVisibleAttr; | |
class OpenCLAccessAttr; | |
class OverloadableAttr; | |
class RenderScriptKernelAttr; | |
class SwiftObjCMembersAttr; | |
class ThreadAttr; | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTFwd.h" 2 | |
class ObjCProtocolLoc; | |
} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/ASTContext.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/CanonicalType.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/CanonicalType.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/Type.h" 1 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/Type.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/DependenceFlags.h" 1 | |
# 11 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/DependenceFlags.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/BitmaskEnum.h" 1 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/BitmaskEnum.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" 1 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__assert" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__assert" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config_site" 1 3 | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config_site" 3 | |
#pragma clang diagnostic push | |
#pragma clang diagnostic ignored "-Wmacro-redefined" | |
#pragma clang diagnostic pop | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 3 | |
# 269 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 1 3 | |
# 392 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features-time64.h" 1 3 | |
# 20 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features-time64.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 21 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features-time64.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/timesize.h" 1 3 | |
# 22 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features-time64.h" 2 3 | |
# 393 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 2 3 | |
# 464 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdc-predef.h" 1 3 | |
# 465 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 2 3 | |
# 486 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/cdefs.h" 1 3 | |
# 559 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/cdefs.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 560 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/cdefs.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/long-double.h" 1 3 | |
# 561 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/cdefs.h" 2 3 | |
# 487 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 2 3 | |
# 510 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/gnu/stubs.h" 1 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 6 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/gnu/stubs.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/gnu/stubs-lp64.h" 1 3 | |
# 9 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/gnu/stubs.h" 2 3 | |
# 511 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/features.h" 2 3 | |
# 270 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 2 3 | |
# 666 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__config" 3 | |
namespace std { inline namespace __1 { }} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__assert" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__verbose_abort" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__verbose_abort" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__availability" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__availability" 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__verbose_abort" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__verbose_abort" 3 | |
namespace std { inline namespace __1 { | |
[[noreturn]] __attribute__((__visibility__("default"))) __attribute__((__format__(__printf__, 1, 2))) | |
void __libcpp_verbose_abort(const char *__format, ...); | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__verbose_abort" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__assert" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__assert" 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/assert.h" 1 3 | |
# 66 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/assert.h" 3 | |
extern "C" { | |
extern void __assert_fail (const char *__assertion, const char *__file, | |
unsigned int __line, const char *__function) | |
noexcept (true) __attribute__ ((__noreturn__)); | |
extern void __assert_perror_fail (int __errnum, const char *__file, | |
unsigned int __line, const char *__function) | |
noexcept (true) __attribute__ ((__noreturn__)); | |
extern void __assert (const char *__assertion, const char *__file, int __line) | |
noexcept (true) __attribute__ ((__noreturn__)); | |
} | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 2 3 | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 1 3 | |
# 421 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_lvalue_reference.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/integral_constant.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/integral_constant.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, _Tp __v> | |
struct __attribute__((__type_visibility__("default"))) integral_constant | |
{ | |
static constexpr const _Tp value = __v; | |
typedef _Tp value_type; | |
typedef integral_constant type; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr operator value_type() const noexcept {return value;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr value_type operator ()() const noexcept {return value;} | |
}; | |
template <class _Tp, _Tp __v> | |
constexpr const _Tp integral_constant<_Tp, __v>::value; | |
typedef integral_constant<bool, true> true_type; | |
typedef integral_constant<bool, false> false_type; | |
template <bool _Val> | |
using _BoolConstant __attribute__((__nodebug__)) = integral_constant<bool, _Val>; | |
template <bool __b> | |
using bool_constant = integral_constant<bool, __b>; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_same.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_same.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Up> | |
struct __attribute__((__type_visibility__("default"))) is_same : _BoolConstant<__is_same(_Tp, _Up)> { }; | |
template <class _Tp, class _Up> | |
inline constexpr bool is_same_v = __is_same(_Tp, _Up); | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_same.h" 3 | |
template <class _Tp, class _Up> | |
using _IsSame = _BoolConstant<__is_same(_Tp, _Up)>; | |
template <class _Tp, class _Up> | |
using _IsNotSame = _BoolConstant<!__is_same(_Tp, _Up)>; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __libcpp_is_referenceable : integral_constant<bool, __is_referenceable(_Tp)> {}; | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_referenceable.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_lvalue_reference.h" 2 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __add_lvalue_reference_t = __add_lvalue_reference(_Tp); | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 | |
template <class _Tp> | |
struct add_lvalue_reference { | |
using type __attribute__((__nodebug__)) = __add_lvalue_reference_t<_Tp>; | |
}; | |
template <class _Tp> using add_lvalue_reference_t = __add_lvalue_reference_t<_Tp>; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_const.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_const.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_const : _BoolConstant<__is_const(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_const_v = __is_const(_Tp); | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_const.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_volatile.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_volatile.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_volatile : _BoolConstant<__is_volatile(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_volatile_v = __is_volatile(_Tp); | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_volatile.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_reference.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_reference.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 1 3 | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/enable_if.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/enable_if.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool, class _Tp = void> struct __attribute__((__type_visibility__("default"))) enable_if {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) enable_if<true, _Tp> {typedef _Tp type;}; | |
template <bool _Bp, class _Tp = void> using __enable_if_t __attribute__((__nodebug__)) = typename enable_if<_Bp, _Tp>::type; | |
template <bool _Bp, class _Tp = void> using enable_if_t = typename enable_if<_Bp, _Tp>::type; | |
}} | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_integral.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_integral.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_const.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_const.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_const { | |
using type __attribute__((__nodebug__)) = __remove_const(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_const_t = __remove_const(_Tp); | |
# 37 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_const.h" 3 | |
template <class _Tp> using remove_const_t = __remove_const_t<_Tp>; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_volatile.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_volatile.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_volatile { | |
using type __attribute__((__nodebug__)) = __remove_volatile(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_volatile_t = __remove_volatile(_Tp); | |
# 37 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_volatile.h" 3 | |
template <class _Tp> using remove_volatile_t = __remove_volatile_t<_Tp>; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_cv { | |
using type __attribute__((__nodebug__)) = __remove_cv(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_cv_t = __remove_cv(_Tp); | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cv.h" 3 | |
template <class _Tp> using remove_cv_t = __remove_cv_t<_Tp>; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_integral.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_integral.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __libcpp_is_integral { enum { value = 0 }; }; | |
template <> struct __libcpp_is_integral<bool> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<char> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<signed char> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<unsigned char> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<wchar_t> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<char16_t> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<char32_t> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<short> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<unsigned short> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<int> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<unsigned int> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<long> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<unsigned long> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<long long> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<unsigned long long> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<__int128_t> { enum { value = 1 }; }; | |
template <> struct __libcpp_is_integral<__uint128_t> { enum { value = 1 }; }; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_integral : _BoolConstant<__is_integral(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_integral_v = __is_integral(_Tp); | |
# 70 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_integral.h" 3 | |
}} | |
# 41 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/version" 1 3 | |
# 207 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/version" 3 | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 35 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 3 | |
typedef long int ptrdiff_t; | |
# 46 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 3 | |
typedef long unsigned int size_t; | |
# 114 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/__stddef_max_align_t.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/__stddef_max_align_t.h" 3 | |
typedef struct { | |
long long __clang_max_align_nonce1 | |
__attribute__((__aligned__(__alignof__(long long)))); | |
long double __clang_max_align_nonce2 | |
__attribute__((__aligned__(__alignof__(long double)))); | |
} max_align_t; | |
# 115 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 2 3 | |
# 47 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
typedef decltype(nullptr) nullptr_t; | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 2 3 | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstddef" 3 | |
namespace std { inline namespace __1 { | |
using ::nullptr_t; | |
using ::ptrdiff_t __attribute__((__using_if_exists__)); | |
using ::size_t __attribute__((__using_if_exists__)); | |
using ::max_align_t __attribute__((__using_if_exists__)); | |
}} | |
namespace std | |
{ | |
enum class byte : unsigned char {}; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte operator| (byte __lhs, byte __rhs) noexcept | |
{ | |
return static_cast<byte>( | |
static_cast<unsigned char>( | |
static_cast<unsigned int>(__lhs) | static_cast<unsigned int>(__rhs) | |
)); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte& operator|=(byte& __lhs, byte __rhs) noexcept | |
{ return __lhs = __lhs | __rhs; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte operator& (byte __lhs, byte __rhs) noexcept | |
{ | |
return static_cast<byte>( | |
static_cast<unsigned char>( | |
static_cast<unsigned int>(__lhs) & static_cast<unsigned int>(__rhs) | |
)); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte& operator&=(byte& __lhs, byte __rhs) noexcept | |
{ return __lhs = __lhs & __rhs; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte operator^ (byte __lhs, byte __rhs) noexcept | |
{ | |
return static_cast<byte>( | |
static_cast<unsigned char>( | |
static_cast<unsigned int>(__lhs) ^ static_cast<unsigned int>(__rhs) | |
)); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte& operator^=(byte& __lhs, byte __rhs) noexcept | |
{ return __lhs = __lhs ^ __rhs; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr byte operator~ (byte __b) noexcept | |
{ | |
return static_cast<byte>( | |
static_cast<unsigned char>( | |
~static_cast<unsigned int>(__b) | |
)); | |
} | |
template <class _Tp> | |
using _EnableByteOverload = __enable_if_t<is_integral<_Tp>::value, byte>; | |
template <class _Integer> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _EnableByteOverload<_Integer> & | |
operator<<=(byte& __lhs, _Integer __shift) noexcept | |
{ return __lhs = __lhs << __shift; } | |
template <class _Integer> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _EnableByteOverload<_Integer> | |
operator<< (byte __lhs, _Integer __shift) noexcept | |
{ return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) << __shift)); } | |
template <class _Integer> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _EnableByteOverload<_Integer> & | |
operator>>=(byte& __lhs, _Integer __shift) noexcept | |
{ return __lhs = __lhs >> __shift; } | |
template <class _Integer> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _EnableByteOverload<_Integer> | |
operator>> (byte __lhs, _Integer __shift) noexcept | |
{ return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) >> __shift)); } | |
template <class _Integer, class = _EnableByteOverload<_Integer> > | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Integer | |
to_integer(byte __b) noexcept { return static_cast<_Integer>(__b); } | |
} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_reference.h" 2 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_reference.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_reference { | |
using type __attribute__((__nodebug__)) = __remove_reference_t(_Tp); | |
}; | |
template <class _Tp> | |
using __libcpp_remove_reference_t = __remove_reference_t(_Tp); | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_reference.h" 3 | |
template <class _Tp> using remove_reference_t = __libcpp_remove_reference_t<_Tp>; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/apply_cv.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Up, bool = is_const<__libcpp_remove_reference_t<_Tp> >::value, | |
bool = is_volatile<__libcpp_remove_reference_t<_Tp> >::value> | |
struct __apply_cv | |
{ | |
typedef __attribute__((__nodebug__)) _Up type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp, _Up, true, false> | |
{ | |
typedef __attribute__((__nodebug__)) const _Up type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp, _Up, false, true> | |
{ | |
typedef volatile _Up type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp, _Up, true, true> | |
{ | |
typedef const volatile _Up type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp&, _Up, false, false> | |
{ | |
typedef _Up& type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp&, _Up, true, false> | |
{ | |
typedef const _Up& type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp&, _Up, false, true> | |
{ | |
typedef volatile _Up& type; | |
}; | |
template <class _Tp, class _Up> | |
struct __apply_cv<_Tp&, _Up, true, true> | |
{ | |
typedef const volatile _Up& type; | |
}; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/conditional.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/conditional.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool> | |
struct _IfImpl; | |
template <> | |
struct _IfImpl<true> { | |
template <class _IfRes, class _ElseRes> | |
using _Select __attribute__((__nodebug__)) = _IfRes; | |
}; | |
template <> | |
struct _IfImpl<false> { | |
template <class _IfRes, class _ElseRes> | |
using _Select __attribute__((__nodebug__)) = _ElseRes; | |
}; | |
template <bool _Cond, class _IfRes, class _ElseRes> | |
using _If __attribute__((__nodebug__)) = typename _IfImpl<_Cond>::template _Select<_IfRes, _ElseRes>; | |
template <bool _Bp, class _If, class _Then> | |
struct __attribute__((__type_visibility__("default"))) conditional { | |
using type __attribute__((__nodebug__)) = _If; | |
}; | |
template <class _If, class _Then> | |
struct __attribute__((__type_visibility__("default"))) conditional<false, _If, _Then> { | |
using type __attribute__((__nodebug__)) = _Then; | |
}; | |
template <bool _Bp, class _IfRes, class _ElseRes> | |
using conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _IfRes, _ElseRes>::type; | |
template <bool _Bp, class _If, class _Then> | |
using __conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _If, _Then>::type; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_pointer.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_pointer.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_void.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_void.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_void : _BoolConstant<__is_void(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_void_v = __is_void(_Tp); | |
# 45 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_void.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_pointer.h" 2 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __add_pointer_t = __add_pointer(_Tp); | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_pointer.h" 3 | |
template <class _Tp> | |
struct add_pointer { | |
using type __attribute__((__nodebug__)) = __add_pointer_t<_Tp>; | |
}; | |
template <class _Tp> using add_pointer_t = __add_pointer_t<_Tp>; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_array.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_array.h" 3 | |
namespace std { inline namespace __1 { | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_array.h" 3 | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_array | |
: public false_type {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_array<_Tp[]> | |
: public true_type {}; | |
template <class _Tp, size_t _Np> struct __attribute__((__type_visibility__("default"))) is_array<_Tp[_Np]> | |
: public true_type {}; | |
template <class _Tp> | |
inline constexpr bool is_array_v = is_array<_Tp>::value; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_function.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_function.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_reference.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_reference.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> { }; | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_rvalue_reference : _BoolConstant<__is_rvalue_reference(_Tp)> { }; | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_reference : _BoolConstant<__is_reference(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_reference_v = __is_reference(_Tp); | |
template <class _Tp> | |
inline constexpr bool is_lvalue_reference_v = __is_lvalue_reference(_Tp); | |
template <class _Tp> | |
inline constexpr bool is_rvalue_reference_v = __is_rvalue_reference(_Tp); | |
# 68 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_reference.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_function.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_function.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_function : integral_constant<bool, __is_function(_Tp)> {}; | |
# 37 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_function.h" 3 | |
template <class _Tp> | |
inline constexpr bool is_function_v = is_function<_Tp>::value; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_extent.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_extent.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_extent { | |
using type __attribute__((__nodebug__)) = __remove_extent(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_extent_t = __remove_extent(_Tp); | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_extent.h" 3 | |
template <class _Tp> using remove_extent_t = __remove_extent_t<_Tp>; | |
}} | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct decay { | |
using type __attribute__((__nodebug__)) = __decay(_Tp); | |
}; | |
# 66 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/decay.h" 3 | |
template <class _Tp> using decay_t = typename decay<_Tp>::type; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_base_of.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_base_of.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Bp, class _Dp> | |
struct __attribute__((__type_visibility__("default"))) is_base_of | |
: public integral_constant<bool, __is_base_of(_Bp, _Dp)> {}; | |
template <class _Bp, class _Dp> | |
inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp); | |
}} | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_core_convertible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_core_convertible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Up, class = void> | |
struct __is_core_convertible : public false_type {}; | |
template <class _Tp, class _Up> | |
struct __is_core_convertible<_Tp, _Up, decltype( | |
static_cast<void(*)(_Up)>(0) ( static_cast<_Tp(*)()>(0)() ) | |
)> : public true_type {}; | |
}} | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_function_pointer.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_function_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __libcpp_is_member_pointer { | |
enum { | |
__is_member = false, | |
__is_func = false, | |
__is_obj = false | |
}; | |
}; | |
template <class _Tp, class _Up> struct __libcpp_is_member_pointer<_Tp _Up::*> { | |
enum { | |
__is_member = true, | |
__is_func = is_function<_Tp>::value, | |
__is_obj = !__is_func, | |
}; | |
}; | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_member_function_pointer | |
: _BoolConstant<__is_member_function_pointer(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); | |
# 62 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_function_pointer.h" 3 | |
}} | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_object_pointer.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_object_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_member_object_pointer | |
: _BoolConstant<__is_member_object_pointer(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_object_pointer.h" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_reference_wrapper.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_reference_wrapper.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> class __attribute__((__type_visibility__("default"))) reference_wrapper; | |
template <class _Tp> struct __is_reference_wrapper_impl : public false_type {}; | |
template <class _Tp> struct __is_reference_wrapper_impl<reference_wrapper<_Tp> > : public true_type {}; | |
template <class _Tp> struct __is_reference_wrapper | |
: public __is_reference_wrapper_impl<__remove_cv_t<_Tp> > {}; | |
}} | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/nat.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/nat.h" 3 | |
namespace std { inline namespace __1 { | |
struct __nat | |
{ | |
__nat() = delete; | |
__nat(const __nat&) = delete; | |
__nat& operator=(const __nat&) = delete; | |
~__nat() = delete; | |
}; | |
}} | |
# 28 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/declval.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/declval.h" 3 | |
namespace std { inline namespace __1 { | |
#pragma GCC diagnostic push | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/declval.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/declval.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _Tp> | |
_Tp&& __declval(int); | |
template <class _Tp> | |
_Tp __declval(long); | |
#pragma GCC diagnostic pop | |
template <class _Tp> | |
decltype(std::__declval<_Tp>(0)) declval() noexcept; | |
}} | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/forward.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/forward.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Tp&& | |
forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>& __t) noexcept { | |
return static_cast<_Tp&&>(__t); | |
} | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Tp&& | |
forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>&& __t) noexcept { | |
static_assert(!is_lvalue_reference<_Tp>::value, "cannot forward an rvalue as an lvalue"); | |
return static_cast<_Tp&&>(__t); | |
} | |
}} | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 2 3 | |
# 34 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 3 | |
namespace std { inline namespace __1 { | |
struct __any | |
{ | |
__any(...); | |
}; | |
template <class _MP, bool _IsMemberFunctionPtr, bool _IsMemberObjectPtr> | |
struct __member_pointer_traits_imp | |
{ | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false> | |
{ | |
typedef _Class _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false> | |
{ | |
typedef _Class _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false> | |
{ | |
typedef _Class const _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false> | |
{ | |
typedef _Class const _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false> | |
{ | |
typedef _Class volatile _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false> | |
{ | |
typedef _Class volatile _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile, true, false> | |
{ | |
typedef _Class const volatile _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile, true, false> | |
{ | |
typedef _Class const volatile _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &, true, false> | |
{ | |
typedef _Class& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &, true, false> | |
{ | |
typedef _Class& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false> | |
{ | |
typedef _Class const& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false> | |
{ | |
typedef _Class const& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false> | |
{ | |
typedef _Class volatile& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false> | |
{ | |
typedef _Class volatile& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&, true, false> | |
{ | |
typedef _Class const volatile& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&, true, false> | |
{ | |
typedef _Class const volatile& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &&, true, false> | |
{ | |
typedef _Class&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &&, true, false> | |
{ | |
typedef _Class&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false> | |
{ | |
typedef _Class const&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false> | |
{ | |
typedef _Class const&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false> | |
{ | |
typedef _Class volatile&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false> | |
{ | |
typedef _Class volatile&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&&, true, false> | |
{ | |
typedef _Class const volatile&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param...); | |
}; | |
template <class _Rp, class _Class, class ..._Param> | |
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false> | |
{ | |
typedef _Class const volatile&& _ClassType; | |
typedef _Rp _ReturnType; | |
typedef _Rp (_FnType) (_Param..., ...); | |
}; | |
template <class _Rp, class _Class> | |
struct __member_pointer_traits_imp<_Rp _Class::*, false, true> | |
{ | |
typedef _Class _ClassType; | |
typedef _Rp _ReturnType; | |
}; | |
template <class _MP> | |
struct __member_pointer_traits | |
: public __member_pointer_traits_imp<__remove_cv_t<_MP>, | |
is_member_function_pointer<_MP>::value, | |
is_member_object_pointer<_MP>::value> | |
{ | |
}; | |
template <class _DecayedFp> | |
struct __member_pointer_class_type {}; | |
template <class _Ret, class _ClassType> | |
struct __member_pointer_class_type<_Ret _ClassType::*> { | |
typedef _ClassType type; | |
}; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type, | |
class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> | |
using __enable_if_bullet1 = typename enable_if | |
< | |
is_member_function_pointer<_DecayFp>::value | |
&& is_base_of<_ClassT, _DecayA0>::value | |
>::type; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type> | |
using __enable_if_bullet2 = typename enable_if | |
< | |
is_member_function_pointer<_DecayFp>::value | |
&& __is_reference_wrapper<_DecayA0>::value | |
>::type; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type, | |
class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> | |
using __enable_if_bullet3 = typename enable_if | |
< | |
is_member_function_pointer<_DecayFp>::value | |
&& !is_base_of<_ClassT, _DecayA0>::value | |
&& !__is_reference_wrapper<_DecayA0>::value | |
>::type; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type, | |
class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> | |
using __enable_if_bullet4 = typename enable_if | |
< | |
is_member_object_pointer<_DecayFp>::value | |
&& is_base_of<_ClassT, _DecayA0>::value | |
>::type; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type> | |
using __enable_if_bullet5 = typename enable_if | |
< | |
is_member_object_pointer<_DecayFp>::value | |
&& __is_reference_wrapper<_DecayA0>::value | |
>::type; | |
template <class _Fp, class _A0, | |
class _DecayFp = typename decay<_Fp>::type, | |
class _DecayA0 = typename decay<_A0>::type, | |
class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> | |
using __enable_if_bullet6 = typename enable_if | |
< | |
is_member_object_pointer<_DecayFp>::value | |
&& !is_base_of<_ClassT, _DecayA0>::value | |
&& !__is_reference_wrapper<_DecayA0>::value | |
>::type; | |
template <class ..._Args> | |
__nat __invoke(__any, _Args&& ...__args); | |
template <class _Fp, class _A0, class ..._Args, | |
class = __enable_if_bullet1<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype((std::declval<_A0>().*std::declval<_Fp>())(std::declval<_Args>()...)) | |
__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) | |
noexcept(noexcept((static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...))) | |
{ return (static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...); } | |
template <class _Fp, class _A0, class ..._Args, | |
class = __enable_if_bullet2<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype((std::declval<_A0>().get().*std::declval<_Fp>())(std::declval<_Args>()...)) | |
__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) | |
noexcept(noexcept((__a0.get().*__f)(static_cast<_Args&&>(__args)...))) | |
{ return (__a0.get().*__f)(static_cast<_Args&&>(__args)...); } | |
template <class _Fp, class _A0, class ..._Args, | |
class = __enable_if_bullet3<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype(((*std::declval<_A0>()).*std::declval<_Fp>())(std::declval<_Args>()...)) | |
__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) | |
noexcept(noexcept(((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...))) | |
{ return ((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...); } | |
template <class _Fp, class _A0, | |
class = __enable_if_bullet4<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype(std::declval<_A0>().*std::declval<_Fp>()) | |
__invoke(_Fp&& __f, _A0&& __a0) | |
noexcept(noexcept(static_cast<_A0&&>(__a0).*__f)) | |
{ return static_cast<_A0&&>(__a0).*__f; } | |
template <class _Fp, class _A0, | |
class = __enable_if_bullet5<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype(std::declval<_A0>().get().*std::declval<_Fp>()) | |
__invoke(_Fp&& __f, _A0&& __a0) | |
noexcept(noexcept(__a0.get().*__f)) | |
{ return __a0.get().*__f; } | |
template <class _Fp, class _A0, | |
class = __enable_if_bullet6<_Fp, _A0> > | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype((*std::declval<_A0>()).*std::declval<_Fp>()) | |
__invoke(_Fp&& __f, _A0&& __a0) | |
noexcept(noexcept((*static_cast<_A0&&>(__a0)).*__f)) | |
{ return (*static_cast<_A0&&>(__a0)).*__f; } | |
template <class _Fp, class ..._Args> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr decltype(std::declval<_Fp>()(std::declval<_Args>()...)) | |
__invoke(_Fp&& __f, _Args&& ...__args) | |
noexcept(noexcept(static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...))) | |
{ return static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...); } | |
template <class _Ret, class _Fp, class ..._Args> | |
struct __invokable_r | |
{ | |
template <class _XFp, class ..._XArgs> | |
static decltype(std::__invoke(std::declval<_XFp>(), std::declval<_XArgs>()...)) __try_call(int); | |
template <class _XFp, class ..._XArgs> | |
static __nat __try_call(...); | |
using _Result = decltype(__try_call<_Fp, _Args...>(0)); | |
using type = __conditional_t< | |
_IsNotSame<_Result, __nat>::value, | |
__conditional_t<is_void<_Ret>::value, true_type, __is_core_convertible<_Result, _Ret> >, | |
false_type>; | |
static const bool value = type::value; | |
}; | |
template <class _Fp, class ..._Args> | |
using __invokable = __invokable_r<void, _Fp, _Args...>; | |
template <bool _IsInvokable, bool _IsCVVoid, class _Ret, class _Fp, class ..._Args> | |
struct __nothrow_invokable_r_imp { | |
static const bool value = false; | |
}; | |
template <class _Ret, class _Fp, class ..._Args> | |
struct __nothrow_invokable_r_imp<true, false, _Ret, _Fp, _Args...> | |
{ | |
typedef __nothrow_invokable_r_imp _ThisT; | |
template <class _Tp> | |
static void __test_noexcept(_Tp) noexcept; | |
static const bool value = noexcept(_ThisT::__test_noexcept<_Ret>( | |
std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...))); | |
}; | |
template <class _Ret, class _Fp, class ..._Args> | |
struct __nothrow_invokable_r_imp<true, true, _Ret, _Fp, _Args...> | |
{ | |
static const bool value = noexcept( | |
std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...)); | |
}; | |
template <class _Ret, class _Fp, class ..._Args> | |
using __nothrow_invokable_r = | |
__nothrow_invokable_r_imp< | |
__invokable_r<_Ret, _Fp, _Args...>::value, | |
is_void<_Ret>::value, | |
_Ret, _Fp, _Args... | |
>; | |
template <class _Fp, class ..._Args> | |
using __nothrow_invokable = | |
__nothrow_invokable_r_imp< | |
__invokable<_Fp, _Args...>::value, | |
true, void, _Fp, _Args... | |
>; | |
template <class _Fp, class ..._Args> | |
struct __invoke_of | |
: public enable_if< | |
__invokable<_Fp, _Args...>::value, | |
typename __invokable_r<void, _Fp, _Args...>::_Result> | |
{ | |
}; | |
template <class _Ret, bool = is_void<_Ret>::value> | |
struct __invoke_void_return_wrapper | |
{ | |
template <class ..._Args> | |
static _Ret __call(_Args&&... __args) { | |
return std::__invoke(std::forward<_Args>(__args)...); | |
} | |
}; | |
template <class _Ret> | |
struct __invoke_void_return_wrapper<_Ret, true> | |
{ | |
template <class ..._Args> | |
static void __call(_Args&&... __args) { | |
std::__invoke(std::forward<_Args>(__args)...); | |
} | |
}; | |
template <class _Fn, class ..._Args> | |
struct __attribute__((__type_visibility__("default"))) is_invocable | |
: integral_constant<bool, __invokable<_Fn, _Args...>::value> {}; | |
template <class _Ret, class _Fn, class ..._Args> | |
struct __attribute__((__type_visibility__("default"))) is_invocable_r | |
: integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {}; | |
template <class _Fn, class ..._Args> | |
inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; | |
template <class _Ret, class _Fn, class ..._Args> | |
inline constexpr bool is_invocable_r_v = is_invocable_r<_Ret, _Fn, _Args...>::value; | |
template <class _Fn, class ..._Args> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_invocable | |
: integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> {}; | |
template <class _Ret, class _Fn, class ..._Args> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_invocable_r | |
: integral_constant<bool, __nothrow_invokable_r<_Ret, _Fn, _Args...>::value> {}; | |
template <class _Fn, class ..._Args> | |
inline constexpr bool is_nothrow_invocable_v = is_nothrow_invocable<_Fn, _Args...>::value; | |
template <class _Ret, class _Fn, class ..._Args> | |
inline constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; | |
template <class _Fn, class... _Args> | |
struct __attribute__((__type_visibility__("default"))) invoke_result | |
: __invoke_of<_Fn, _Args...> | |
{ | |
}; | |
template <class _Fn, class... _Args> | |
using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; | |
template <class _Fn, class ..._Args> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) invoke_result_t<_Fn, _Args...> | |
invoke(_Fn&& __f, _Args&&... __args) | |
noexcept(is_nothrow_invocable_v<_Fn, _Args...>) | |
{ | |
return std::__invoke(std::forward<_Fn>(__f), std::forward<_Args>(__args)...); | |
} | |
# 563 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/invoke.h" 3 | |
}} | |
# 422 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/hash.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/hash.h" 3 | |
namespace std { inline namespace __1 { | |
template <class> | |
struct __attribute__((__type_visibility__("default"))) hash; | |
}} | |
# 423 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_const.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_const.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) add_const { | |
typedef __attribute__((__nodebug__)) const _Tp type; | |
}; | |
template <class _Tp> using add_const_t = typename add_const<_Tp>::type; | |
}} | |
# 424 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_cv.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_cv.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) add_cv { | |
typedef __attribute__((__nodebug__)) const volatile _Tp type; | |
}; | |
template <class _Tp> using add_cv_t = typename add_cv<_Tp>::type; | |
}} | |
# 425 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_rvalue_reference.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_rvalue_reference.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __add_rvalue_reference_t = __add_rvalue_reference(_Tp); | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_rvalue_reference.h" 3 | |
template <class _Tp> | |
struct add_rvalue_reference { | |
using type = __add_rvalue_reference_t<_Tp>; | |
}; | |
template <class _Tp> | |
using add_rvalue_reference_t = __add_rvalue_reference_t<_Tp>; | |
}} | |
# 428 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_volatile.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/add_volatile.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) add_volatile { | |
typedef __attribute__((__nodebug__)) volatile _Tp type; | |
}; | |
template <class _Tp> using add_volatile_t = typename add_volatile<_Tp>::type; | |
}} | |
# 429 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/type_list.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/type_list.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Hp, class _Tp> | |
struct __type_list | |
{ | |
typedef _Hp _Head; | |
typedef _Tp _Tail; | |
}; | |
template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename _TypeList::_Head)> struct __find_first; | |
template <class _Hp, class _Tp, size_t _Size> | |
struct __find_first<__type_list<_Hp, _Tp>, _Size, true> | |
{ | |
typedef __attribute__((__nodebug__)) _Hp type; | |
}; | |
template <class _Hp, class _Tp, size_t _Size> | |
struct __find_first<__type_list<_Hp, _Tp>, _Size, false> | |
{ | |
typedef __attribute__((__nodebug__)) typename __find_first<_Tp, _Size>::type type; | |
}; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 2 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __align_type | |
{ | |
static const size_t value = __alignof(_Tp); | |
typedef _Tp type; | |
}; | |
struct __struct_double {long double __lx;}; | |
struct __struct_double4 {double __lx[4];}; | |
typedef | |
__type_list<__align_type<unsigned char>, | |
__type_list<__align_type<unsigned short>, | |
__type_list<__align_type<unsigned int>, | |
__type_list<__align_type<unsigned long>, | |
__type_list<__align_type<unsigned long long>, | |
__type_list<__align_type<double>, | |
__type_list<__align_type<long double>, | |
__type_list<__align_type<__struct_double>, | |
__type_list<__align_type<__struct_double4>, | |
__type_list<__align_type<int*>, | |
__nat | |
> > > > > > > > > > __all_types; | |
template <size_t _Align> | |
struct alignas(_Align) __fallback_overaligned {}; | |
template <class _TL, size_t _Align> struct __find_pod; | |
template <class _Hp, size_t _Align> | |
struct __find_pod<__type_list<_Hp, __nat>, _Align> | |
{ | |
typedef __conditional_t<_Align == _Hp::value, typename _Hp::type, __fallback_overaligned<_Align> > type; | |
}; | |
template <class _Hp, class _Tp, size_t _Align> | |
struct __find_pod<__type_list<_Hp, _Tp>, _Align> | |
{ | |
typedef __conditional_t<_Align == _Hp::value, typename _Hp::type, typename __find_pod<_Tp, _Align>::type> type; | |
}; | |
template <class _TL, size_t _Len> struct __find_max_align; | |
template <class _Hp, size_t _Len> | |
struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant<size_t, _Hp::value> {}; | |
template <size_t _Len, size_t _A1, size_t _A2> | |
struct __select_align | |
{ | |
private: | |
static const size_t __min = _A2 < _A1 ? _A2 : _A1; | |
static const size_t __max = _A1 < _A2 ? _A2 : _A1; | |
public: | |
static const size_t value = _Len < __max ? __min : __max; | |
}; | |
template <class _Hp, class _Tp, size_t _Len> | |
struct __find_max_align<__type_list<_Hp, _Tp>, _Len> | |
: public integral_constant<size_t, __select_align<_Len, _Hp::value, __find_max_align<_Tp, _Len>::value>::value> {}; | |
template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> | |
struct __attribute__((__type_visibility__("default"))) aligned_storage | |
{ | |
typedef typename __find_pod<__all_types, _Align>::type _Aligner; | |
union type | |
{ | |
_Aligner __align; | |
unsigned char __data[(_Len + _Align - 1)/_Align * _Align]; | |
}; | |
}; | |
#pragma GCC diagnostic push | |
# 98 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 98 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> | |
using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; | |
#pragma GCC diagnostic pop | |
# 115 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_storage.h" 3 | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x1>{ struct alignas(0x1) type { unsigned char __lx[(_Len + 0x1 - 1)/0x1 * 0x1]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x2>{ struct alignas(0x2) type { unsigned char __lx[(_Len + 0x2 - 1)/0x2 * 0x2]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x4>{ struct alignas(0x4) type { unsigned char __lx[(_Len + 0x4 - 1)/0x4 * 0x4]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x8>{ struct alignas(0x8) type { unsigned char __lx[(_Len + 0x8 - 1)/0x8 * 0x8]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x10>{ struct alignas(0x10) type { unsigned char __lx[(_Len + 0x10 - 1)/0x10 * 0x10]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x20>{ struct alignas(0x20) type { unsigned char __lx[(_Len + 0x20 - 1)/0x20 * 0x20]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x40>{ struct alignas(0x40) type { unsigned char __lx[(_Len + 0x40 - 1)/0x40 * 0x40]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x80>{ struct alignas(0x80) type { unsigned char __lx[(_Len + 0x80 - 1)/0x80 * 0x80]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x100>{ struct alignas(0x100) type { unsigned char __lx[(_Len + 0x100 - 1)/0x100 * 0x100]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x200>{ struct alignas(0x200) type { unsigned char __lx[(_Len + 0x200 - 1)/0x200 * 0x200]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x400>{ struct alignas(0x400) type { unsigned char __lx[(_Len + 0x400 - 1)/0x400 * 0x400]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x800>{ struct alignas(0x800) type { unsigned char __lx[(_Len + 0x800 - 1)/0x800 * 0x800]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x1000>{ struct alignas(0x1000) type { unsigned char __lx[(_Len + 0x1000 - 1)/0x1000 * 0x1000]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x2000>{ struct alignas(0x2000) type { unsigned char __lx[(_Len + 0x2000 - 1)/0x2000 * 0x2000]; };}; | |
template <size_t _Len>struct __attribute__((__type_visibility__("default"))) aligned_storage<_Len, 0x4000>{ struct alignas(0x4000) type { unsigned char __lx[(_Len + 0x4000 - 1)/0x4000 * 0x4000]; };}; | |
}} | |
# 430 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_union.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/aligned_union.h" 3 | |
namespace std { inline namespace __1 { | |
template <size_t _I0, size_t ..._In> | |
struct __static_max; | |
template <size_t _I0> | |
struct __static_max<_I0> | |
{ | |
static const size_t value = _I0; | |
}; | |
template <size_t _I0, size_t _I1, size_t ..._In> | |
struct __static_max<_I0, _I1, _In...> | |
{ | |
static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value : | |
__static_max<_I1, _In...>::value; | |
}; | |
template <size_t _Len, class _Type0, class ..._Types> | |
struct aligned_union | |
{ | |
static const size_t alignment_value = __static_max<__alignof(_Type0), | |
__alignof(_Types)...>::value; | |
static const size_t __len = __static_max<_Len, sizeof(_Type0), | |
sizeof(_Types)...>::value; | |
typedef typename aligned_storage<__len, alignment_value>::type type; | |
}; | |
template <size_t _Len, class... _Types> | |
using aligned_union_t = typename aligned_union<_Len, _Types...>::type; | |
}} | |
# 431 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/alignment_of.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/alignment_of.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) alignment_of | |
: public integral_constant<size_t, alignof(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr size_t alignment_of_v = alignof(_Tp); | |
}} | |
# 432 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/can_extract_key.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/can_extract_key.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/pair.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/pair.h" 3 | |
namespace std { inline namespace __1 { | |
template <class, class> | |
struct __attribute__((__type_visibility__("default"))) pair; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/can_extract_key.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_const_ref.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_const_ref.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __remove_const_ref_t = __remove_const_t<__libcpp_remove_reference_t<_Tp> >; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/can_extract_key.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/can_extract_key.h" 3 | |
namespace std { inline namespace __1 { | |
struct __extract_key_fail_tag {}; | |
struct __extract_key_self_tag {}; | |
struct __extract_key_first_tag {}; | |
template <class _ValTy, class _Key, class _RawValTy = __remove_const_ref_t<_ValTy> > | |
struct __can_extract_key | |
: __conditional_t<_IsSame<_RawValTy, _Key>::value, __extract_key_self_tag, __extract_key_fail_tag> {}; | |
template <class _Pair, class _Key, class _First, class _Second> | |
struct __can_extract_key<_Pair, _Key, pair<_First, _Second> > | |
: __conditional_t<_IsSame<__remove_const_t<_First>, _Key>::value, __extract_key_first_tag, __extract_key_fail_tag> { | |
}; | |
template <class _ValTy, class _Key, class _ContainerValueTy, | |
class _RawValTy = __remove_const_ref_t<_ValTy> > | |
struct __can_extract_map_key | |
: integral_constant<bool, _IsSame<_RawValTy, _Key>::value> {}; | |
template <class _ValTy, class _Key, class _RawValTy> | |
struct __can_extract_map_key<_ValTy, _Key, _Key, _RawValTy> | |
: false_type {}; | |
}} | |
# 434 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cvref.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cvref.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __remove_cvref_t __attribute__((__nodebug__)) = __remove_cvref(_Tp); | |
template <class _Tp, class _Up> | |
struct __is_same_uncvref : _IsSame<__remove_cvref_t<_Tp>, __remove_cvref_t<_Up> > {}; | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_cvref.h" 3 | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/void_t.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/void_t.h" 3 | |
namespace std { inline namespace __1 { | |
template <class...> using void_t = void; | |
template <class...> | |
using __void_t = void; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 3 | |
namespace std { inline namespace __1 { | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 3 | |
template <class _Tp, class _Up, class = void> | |
struct __common_type2_imp {}; | |
template <class _Tp, class _Up> | |
struct __common_type2_imp<_Tp, _Up, __void_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> > | |
{ | |
typedef __attribute__((__nodebug__)) typename decay<decltype( | |
true ? std::declval<_Tp>() : std::declval<_Up>() | |
)>::type type; | |
}; | |
template <class, class = void> | |
struct __common_type_impl {}; | |
template <class... _Tp> | |
struct __common_types; | |
template <class... _Tp> | |
struct __attribute__((__type_visibility__("default"))) common_type; | |
# 80 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_type.h" 3 | |
template <class _Tp, class _Up> | |
struct __common_type_impl< | |
__common_types<_Tp, _Up>, __void_t<typename common_type<_Tp, _Up>::type> > | |
{ | |
typedef typename common_type<_Tp, _Up>::type type; | |
}; | |
template <class _Tp, class _Up, class _Vp , class... _Rest> | |
struct __common_type_impl< | |
__common_types<_Tp, _Up, _Vp , _Rest...>, | |
__void_t<typename common_type<_Tp, _Up>::type> > | |
: __common_type_impl<__common_types<typename common_type<_Tp, _Up>::type, | |
_Vp , _Rest...> > { | |
}; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) common_type<> {}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) common_type<_Tp> | |
: public common_type<_Tp, _Tp> {}; | |
template <class _Tp, class _Up> | |
struct __attribute__((__type_visibility__("default"))) common_type<_Tp, _Up> | |
: conditional< | |
_IsSame<_Tp, typename decay<_Tp>::type>::value && _IsSame<_Up, typename decay<_Up>::type>::value, | |
__common_type2_imp<_Tp, _Up>, | |
common_type<typename decay<_Tp>::type, typename decay<_Up>::type> | |
>::type | |
{}; | |
template <class _Tp, class _Up, class _Vp , class... _Rest> | |
struct __attribute__((__type_visibility__("default"))) | |
common_type<_Tp, _Up, _Vp , _Rest...> | |
: __common_type_impl< | |
__common_types<_Tp, _Up, _Vp , _Rest...> > {}; | |
template <class ..._Tp> using common_type_t = typename common_type<_Tp...>::type; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/copy_cv.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/copy_cv.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _From, class _To> | |
struct __copy_cv | |
{ | |
using type = _To; | |
}; | |
template <class _From, class _To> | |
struct __copy_cv<const _From, _To> | |
{ | |
using type = typename add_const<_To>::type; | |
}; | |
template <class _From, class _To> | |
struct __copy_cv<volatile _From, _To> | |
{ | |
using type = typename add_volatile<_To>::type; | |
}; | |
template <class _From, class _To> | |
struct __copy_cv<const volatile _From, _To> | |
{ | |
using type = typename add_cv<_To>::type; | |
}; | |
template <class _From, class _To> | |
using __copy_cv_t = typename __copy_cv<_From, _To>::type; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/copy_cvref.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/copy_cvref.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _From, class _To> | |
struct __copy_cvref | |
{ | |
using type = __copy_cv_t<_From, _To>; | |
}; | |
template <class _From, class _To> | |
struct __copy_cvref<_From&, _To> | |
{ | |
using type = __add_lvalue_reference_t<__copy_cv_t<_From, _To> >; | |
}; | |
template <class _From, class _To> | |
struct __copy_cvref<_From&&, _To> | |
{ | |
using type = __add_rvalue_reference_t<__copy_cv_t<_From, _To> >; | |
}; | |
template <class _From, class _To> | |
using __copy_cvref_t = typename __copy_cvref<_From, _To>::type; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_convertible.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_convertible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _T1, class _T2> struct __attribute__((__type_visibility__("default"))) is_convertible | |
: public integral_constant<bool, __is_convertible_to(_T1, _T2)> {}; | |
# 102 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_convertible.h" 3 | |
template <class _From, class _To> | |
inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 2 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 3 | |
namespace std { inline namespace __1 { | |
# 186 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/common_reference.h" 3 | |
}} | |
# 435 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/conjunction.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/conjunction.h" 3 | |
namespace std { inline namespace __1 { | |
template <class...> | |
using __expand_to_true = true_type; | |
template <class... _Pred> | |
__expand_to_true<__enable_if_t<_Pred::value>...> __and_helper(int); | |
template <class...> | |
false_type __and_helper(...); | |
template <class... _Pred> | |
using _And __attribute__((__nodebug__)) = decltype(std::__and_helper<_Pred...>(0)); | |
template <class...> | |
struct conjunction : true_type {}; | |
template <class _Arg> | |
struct conjunction<_Arg> : _Arg {}; | |
template <class _Arg, class... _Args> | |
struct conjunction<_Arg, _Args...> : conditional_t<!bool(_Arg::value), _Arg, conjunction<_Args...>> {}; | |
template <class... _Args> | |
inline constexpr bool conjunction_v = conjunction<_Args...>::value; | |
}} | |
# 438 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/dependent_type.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/dependent_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, bool> | |
struct __attribute__((__type_visibility__("default"))) __dependent_type : public _Tp {}; | |
}} | |
# 440 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/disjunction.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/disjunction.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool> | |
struct _OrImpl; | |
template <> | |
struct _OrImpl<true> { | |
template <class _Res, class _First, class... _Rest> | |
using _Result __attribute__((__nodebug__)) = | |
typename _OrImpl<!bool(_First::value) && sizeof...(_Rest) != 0>::template _Result<_First, _Rest...>; | |
}; | |
template <> | |
struct _OrImpl<false> { | |
template <class _Res, class...> | |
using _Result = _Res; | |
}; | |
template <class... _Args> | |
using _Or __attribute__((__nodebug__)) = typename _OrImpl<sizeof...(_Args) != 0>::template _Result<false_type, _Args...>; | |
template <class... _Args> | |
struct disjunction : _Or<_Args...> {}; | |
template <class... _Args> | |
inline constexpr bool disjunction_v = _Or<_Args...>::value; | |
}} | |
# 441 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/extent.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/extent.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp, size_t _Dim = 0> | |
struct __attribute__((__type_visibility__("default"))) extent | |
: integral_constant<size_t, __array_extent(_Tp, _Dim)> { }; | |
template <class _Tp, unsigned _Ip = 0> | |
inline constexpr size_t extent_v = __array_extent(_Tp, _Ip); | |
# 53 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/extent.h" 3 | |
}} | |
# 443 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_unique_object_representation.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_unique_object_representation.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_all_extents.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_all_extents.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_all_extents { | |
using type __attribute__((__nodebug__)) = __remove_all_extents(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_all_extents_t = __remove_all_extents(_Tp); | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_all_extents.h" 3 | |
template <class _Tp> using remove_all_extents_t = __remove_all_extents_t<_Tp>; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_unique_object_representation.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_unique_object_representation.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) has_unique_object_representations | |
: public integral_constant<bool, | |
__has_unique_object_representations(remove_cv_t<remove_all_extents_t<_Tp>>)> {}; | |
template <class _Tp> | |
inline constexpr bool has_unique_object_representations_v = has_unique_object_representations<_Tp>::value; | |
}} | |
# 444 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_virtual_destructor.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/has_virtual_destructor.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) has_virtual_destructor | |
: public integral_constant<bool, __has_virtual_destructor(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool has_virtual_destructor_v = __has_virtual_destructor(_Tp); | |
}} | |
# 445 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_abstract.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_abstract.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_abstract | |
: public integral_constant<bool, __is_abstract(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_abstract_v = __is_abstract(_Tp); | |
}} | |
# 447 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_aggregate.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_aggregate.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) | |
is_aggregate : public integral_constant<bool, __is_aggregate(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_aggregate_v = __is_aggregate(_Tp); | |
}} | |
# 448 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_arithmetic.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_arithmetic.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_floating_point.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_floating_point.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __libcpp_is_floating_point : public false_type {}; | |
template <> struct __libcpp_is_floating_point<float> : public true_type {}; | |
template <> struct __libcpp_is_floating_point<double> : public true_type {}; | |
template <> struct __libcpp_is_floating_point<long double> : public true_type {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_floating_point | |
: public __libcpp_is_floating_point<__remove_cv_t<_Tp> > {}; | |
template <class _Tp> | |
inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_arithmetic.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_arithmetic.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_arithmetic | |
: public integral_constant<bool, is_integral<_Tp>::value || | |
is_floating_point<_Tp>::value> {}; | |
template <class _Tp> | |
inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; | |
}} | |
# 449 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_assignable.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp, class _Up> | |
struct __attribute__((__type_visibility__("default"))) is_assignable : _BoolConstant<__is_assignable(_Tp, _Up)> { }; | |
template <class _Tp, class _Arg> | |
inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Arg); | |
}} | |
# 451 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_bounded_array.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_bounded_array.h" 3 | |
namespace std { inline namespace __1 { | |
template <class> struct __attribute__((__type_visibility__("default"))) __libcpp_is_bounded_array : false_type {}; | |
template <class _Tp, size_t _Np> struct __attribute__((__type_visibility__("default"))) __libcpp_is_bounded_array<_Tp[_Np]> : true_type {}; | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_bounded_array.h" 3 | |
}} | |
# 453 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_callable.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_callable.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Func, class... _Args, class = decltype(std::declval<_Func>()(std::declval<_Args>()...))> | |
true_type __is_callable_helper(int); | |
template<class...> | |
false_type __is_callable_helper(...); | |
template<class _Func, class... _Args> | |
struct __is_callable : decltype(std::__is_callable_helper<_Func, _Args...>(0)) {}; | |
}} | |
# 454 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_char_like_type.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_char_like_type.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_standard_layout.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_standard_layout.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_standard_layout | |
: public integral_constant<bool, __is_standard_layout(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_char_like_type.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivial.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivial.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_trivial | |
: public integral_constant<bool, __is_trivial(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_trivial_v = __is_trivial(_Tp); | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_char_like_type.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_char_like_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _CharT> | |
using _IsCharLikeType = _And<is_standard_layout<_CharT>, is_trivial<_CharT> >; | |
}} | |
# 455 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_class.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_class.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_class | |
: public integral_constant<bool, __is_class(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_class_v = __is_class(_Tp); | |
}} | |
# 456 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_compound.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_compound.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_fundamental.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_null_pointer.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_null_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __is_nullptr_t_impl : public false_type {}; | |
template <> struct __is_nullptr_t_impl<nullptr_t> : public true_type {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) __is_nullptr_t | |
: public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_null_pointer | |
: public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; | |
template <class _Tp> | |
inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_fundamental.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_fundamental : _BoolConstant<__is_fundamental(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_fundamental_v = __is_fundamental(_Tp); | |
# 47 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_fundamental.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_compound.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_compound.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_compound : _BoolConstant<__is_compound(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_compound_v = __is_compound(_Tp); | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_compound.h" 3 | |
}} | |
# 457 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_constant_evaluated.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_constant_evaluated.h" 3 | |
namespace std { inline namespace __1 { | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_constant_evaluated.h" 3 | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) inline constexpr | |
bool __libcpp_is_constant_evaluated() noexcept { return __builtin_is_constant_evaluated(); } | |
}} | |
# 459 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_constructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class ..._Args> | |
struct __attribute__((__type_visibility__("default"))) is_constructible | |
: public integral_constant<bool, __is_constructible(_Tp, _Args...)> | |
{ }; | |
template <class _Tp, class ..._Args> | |
inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); | |
}} | |
# 460 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_copy_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_copy_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_copy_assignable | |
: public integral_constant< | |
bool, | |
__is_assignable(__add_lvalue_reference_t<_Tp>, | |
__add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; | |
}} | |
# 462 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_copy_constructible.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_copy_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_copy_constructible | |
: public integral_constant< | |
bool, | |
__is_constructible(_Tp, __add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_copy_constructible_v = is_copy_constructible<_Tp>::value; | |
}} | |
# 463 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_default_constructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_default_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_default_constructible | |
: public integral_constant<bool, __is_constructible(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); | |
}} | |
# 464 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_destructible.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_destructible.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_destructible : _BoolConstant<__is_destructible(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_destructible_v = __is_destructible(_Tp); | |
# 100 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_destructible.h" 3 | |
}} | |
# 465 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_empty.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_empty.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_empty | |
: public integral_constant<bool, __is_empty(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_empty_v = __is_empty(_Tp); | |
}} | |
# 466 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_enum.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_enum.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_enum | |
: public integral_constant<bool, __is_enum(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_enum_v = __is_enum(_Tp); | |
}} | |
# 467 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_final.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_final.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) | |
__libcpp_is_final : public integral_constant<bool, __is_final(_Tp)> {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) | |
is_final : public integral_constant<bool, __is_final(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_final_v = __is_final(_Tp); | |
}} | |
# 468 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
void __test_implicit_default_constructible(_Tp); | |
template <class _Tp, class = void, class = typename is_default_constructible<_Tp>::type> | |
struct __is_implicitly_default_constructible | |
: false_type | |
{ }; | |
template <class _Tp> | |
struct __is_implicitly_default_constructible<_Tp, decltype(std::__test_implicit_default_constructible<_Tp const&>({})), true_type> | |
: true_type | |
{ }; | |
template <class _Tp> | |
struct __is_implicitly_default_constructible<_Tp, decltype(std::__test_implicit_default_constructible<_Tp const&>({})), false_type> | |
: false_type | |
{ }; | |
}} | |
# 472 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_literal_type.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_literal_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) __attribute__((__deprecated__)) is_literal_type | |
: public integral_constant<bool, __is_literal_type(_Tp)> | |
{}; | |
template <class _Tp> | |
__attribute__((__deprecated__)) inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); | |
}} | |
# 474 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_pointer.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_member_pointer : _BoolConstant<__is_member_pointer(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_member_pointer.h" 3 | |
}} | |
# 477 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_move_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_move_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_move_assignable | |
: public integral_constant< | |
bool, | |
__is_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; | |
}} | |
# 478 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_move_constructible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_move_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_move_constructible | |
: public integral_constant<bool, __is_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_move_constructible_v = is_move_constructible<_Tp>::value; | |
}} | |
# 479 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_assignable.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Arg> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_assignable | |
: public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> {}; | |
template <class _Tp, class _Arg> | |
inline constexpr bool is_nothrow_assignable_v = __is_nothrow_assignable(_Tp, _Arg); | |
}} | |
# 480 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_constructible.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template < | |
class _Tp, class... _Args> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_constructible | |
: public integral_constant<bool, __is_nothrow_constructible(_Tp, _Args...)> {}; | |
# 72 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 | |
template <class _Tp, class ..._Args> | |
inline constexpr bool is_nothrow_constructible_v = is_nothrow_constructible<_Tp, _Args...>::value; | |
}} | |
# 481 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_convertible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/lazy.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/lazy.h" 3 | |
namespace std { inline namespace __1 { | |
template <template <class...> class _Func, class ..._Args> | |
struct _Lazy : _Func<_Args...> {}; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_convertible.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 | |
namespace std { inline namespace __1 { | |
# 51 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 | |
}} | |
# 482 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_copy_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_copy_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_copy_assignable | |
: public integral_constant< | |
bool, | |
__is_nothrow_assignable( | |
__add_lvalue_reference_t<_Tp>, | |
__add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable<_Tp>::value; | |
}} | |
# 483 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 3 | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_copy_constructible | |
: public integral_constant< | |
bool, | |
__is_nothrow_constructible(_Tp, typename add_lvalue_reference<typename add_const<_Tp>::type>::type)> {}; | |
template <class _Tp> | |
inline constexpr bool is_nothrow_copy_constructible_v = is_nothrow_copy_constructible<_Tp>::value; | |
}} | |
# 484 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_default_constructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_default_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_nothrow_default_constructible | |
: public integral_constant<bool, __is_nothrow_constructible(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_nothrow_default_constructible_v = __is_nothrow_constructible(_Tp); | |
}} | |
# 485 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_destructible.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scalar.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scalar.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_pointer.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_pointer : _BoolConstant<__is_pointer(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_pointer_v = __is_pointer(_Tp); | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_pointer.h" 3 | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scalar.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scalar.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_scalar : _BoolConstant<__is_scalar(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_scalar_v = __is_scalar(_Tp); | |
# 60 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scalar.h" 3 | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_destructible.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool, class _Tp> struct __libcpp_is_nothrow_destructible; | |
template <class _Tp> | |
struct __libcpp_is_nothrow_destructible<false, _Tp> | |
: public false_type | |
{ | |
}; | |
template <class _Tp> | |
struct __libcpp_is_nothrow_destructible<true, _Tp> | |
: public integral_constant<bool, noexcept(std::declval<_Tp>().~_Tp()) > | |
{ | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_destructible | |
: public __libcpp_is_nothrow_destructible<is_destructible<_Tp>::value, _Tp> | |
{ | |
}; | |
template <class _Tp, size_t _Ns> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_destructible<_Tp[_Ns]> | |
: public is_nothrow_destructible<_Tp> | |
{ | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_destructible<_Tp&> | |
: public true_type | |
{ | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_destructible<_Tp&&> | |
: public true_type | |
{ | |
}; | |
# 83 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 | |
template <class _Tp> | |
inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Tp>::value; | |
}} | |
# 486 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_move_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_move_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_move_assignable | |
: public integral_constant< | |
bool, | |
__is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> { | |
}; | |
template <class _Tp> | |
inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<_Tp>::value; | |
}} | |
# 487 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_nothrow_move_constructible | |
: public integral_constant<bool, __is_nothrow_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> | |
{}; | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 3 | |
template <class _Tp> | |
inline constexpr bool is_nothrow_move_constructible_v = is_nothrow_move_constructible<_Tp>::value; | |
}} | |
# 488 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_object.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_object.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_union.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_union.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_union | |
: public integral_constant<bool, __is_union(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_union_v = __is_union(_Tp); | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_object.h" 2 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_object.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_object : _BoolConstant<__is_object(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_object_v = __is_object(_Tp); | |
# 50 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_object.h" 3 | |
}} | |
# 490 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_pod.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_pod.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_pod | |
: public integral_constant<bool, __is_pod(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_pod_v = __is_pod(_Tp); | |
}} | |
# 491 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_polymorphic.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_polymorphic.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_polymorphic | |
: public integral_constant<bool, __is_polymorphic(_Tp)> {}; | |
template <class _Tp> | |
inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); | |
}} | |
# 493 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scoped_enum.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scoped_enum.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/underlying_type.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/underlying_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, bool = is_enum<_Tp>::value> struct __underlying_type_impl; | |
template <class _Tp> | |
struct __underlying_type_impl<_Tp, false> {}; | |
template <class _Tp> | |
struct __underlying_type_impl<_Tp, true> | |
{ | |
typedef __underlying_type(_Tp) type; | |
}; | |
template <class _Tp> | |
struct underlying_type : __underlying_type_impl<_Tp, is_enum<_Tp>::value> {}; | |
template <class _Tp> using underlying_type_t = typename underlying_type<_Tp>::type; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scoped_enum.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scoped_enum.h" 3 | |
namespace std { inline namespace __1 { | |
# 40 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_scoped_enum.h" 3 | |
}} | |
# 499 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_signed.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_signed.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_signed : _BoolConstant<__is_signed(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_signed_v = __is_signed(_Tp); | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_signed.h" 3 | |
}} | |
# 500 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_specialization.h" 1 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_specialization.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, template <class...> class _Template> | |
inline constexpr bool __is_specialization_v = false; | |
template <template <class...> class _Template, class... _Args> | |
inline constexpr bool __is_specialization_v<_Template<_Args...>, _Template> = true; | |
}} | |
# 501 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_swappable.h" 1 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_swappable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __is_swappable; | |
template <class _Tp> struct __is_nothrow_swappable; | |
template <class _Tp> | |
using __swap_result_t = typename enable_if<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>::type; | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
__swap_result_t<_Tp> | |
swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp>::value && is_nothrow_move_assignable<_Tp>::value); | |
template<class _Tp, size_t _Np> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename enable_if< | |
__is_swappable<_Tp>::value | |
>::type | |
swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp>::value); | |
namespace __detail | |
{ | |
template <class _Tp, class _Up = _Tp, | |
bool _NotVoid = !is_void<_Tp>::value && !is_void<_Up>::value> | |
struct __swappable_with | |
{ | |
template <class _LHS, class _RHS> | |
static decltype(swap(std::declval<_LHS>(), std::declval<_RHS>())) | |
__test_swap(int); | |
template <class, class> | |
static __nat __test_swap(long); | |
typedef decltype((__test_swap<_Tp, _Up>(0))) __swap1; | |
typedef decltype((__test_swap<_Up, _Tp>(0))) __swap2; | |
static const bool value = _IsNotSame<__swap1, __nat>::value | |
&& _IsNotSame<__swap2, __nat>::value; | |
}; | |
template <class _Tp, class _Up> | |
struct __swappable_with<_Tp, _Up, false> : false_type {}; | |
template <class _Tp, class _Up = _Tp, bool _Swappable = __swappable_with<_Tp, _Up>::value> | |
struct __nothrow_swappable_with { | |
static const bool value = | |
noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) | |
&& noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())); | |
}; | |
template <class _Tp, class _Up> | |
struct __nothrow_swappable_with<_Tp, _Up, false> : false_type {}; | |
} | |
template <class _Tp> | |
struct __is_swappable | |
: public integral_constant<bool, __detail::__swappable_with<_Tp&>::value> | |
{ | |
}; | |
template <class _Tp> | |
struct __is_nothrow_swappable | |
: public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp&>::value> | |
{ | |
}; | |
template <class _Tp, class _Up> | |
struct __attribute__((__type_visibility__("default"))) is_swappable_with | |
: public integral_constant<bool, __detail::__swappable_with<_Tp, _Up>::value> | |
{ | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_swappable | |
: public __conditional_t< | |
__libcpp_is_referenceable<_Tp>::value, | |
is_swappable_with< | |
__add_lvalue_reference_t<_Tp>, | |
__add_lvalue_reference_t<_Tp> >, | |
false_type | |
> | |
{ | |
}; | |
template <class _Tp, class _Up> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_swappable_with | |
: public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp, _Up>::value> | |
{ | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_nothrow_swappable | |
: public __conditional_t< | |
__libcpp_is_referenceable<_Tp>::value, | |
is_nothrow_swappable_with< | |
__add_lvalue_reference_t<_Tp>, | |
__add_lvalue_reference_t<_Tp> >, | |
false_type | |
> | |
{ | |
}; | |
template <class _Tp, class _Up> | |
inline constexpr bool is_swappable_with_v = is_swappable_with<_Tp, _Up>::value; | |
template <class _Tp> | |
inline constexpr bool is_swappable_v = is_swappable<_Tp>::value; | |
template <class _Tp, class _Up> | |
inline constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with<_Tp, _Up>::value; | |
template <class _Tp> | |
inline constexpr bool is_nothrow_swappable_v = is_nothrow_swappable<_Tp>::value; | |
}} | |
# 503 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_assignable.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Arg> | |
struct is_trivially_assignable | |
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)> | |
{ }; | |
template <class _Tp, class _Arg> | |
inline constexpr bool is_trivially_assignable_v = __is_trivially_assignable(_Tp, _Arg); | |
}} | |
# 505 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_constructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class... _Args> | |
struct __attribute__((__type_visibility__("default"))) is_trivially_constructible | |
: integral_constant<bool, __is_trivially_constructible(_Tp, _Args...)> | |
{ | |
}; | |
template <class _Tp, class... _Args> | |
inline constexpr bool is_trivially_constructible_v = __is_trivially_constructible(_Tp, _Args...); | |
}} | |
# 506 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copy_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copy_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_trivially_copy_assignable | |
: public integral_constant< | |
bool, | |
__is_trivially_assignable( | |
__add_lvalue_reference_t<_Tp>, | |
__add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_copy_assignable_v = is_trivially_copy_assignable<_Tp>::value; | |
}} | |
# 507 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copy_constructible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copy_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_trivially_copy_constructible | |
: public integral_constant<bool, __is_trivially_constructible(_Tp, __add_lvalue_reference_t<const _Tp>)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_copy_constructible_v = is_trivially_copy_constructible<_Tp>::value; | |
}} | |
# 508 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copyable.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_copyable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_trivially_copyable | |
: public integral_constant<bool, __is_trivially_copyable(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); | |
}} | |
# 509 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_default_constructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_default_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_trivially_default_constructible | |
: public integral_constant<bool, __is_trivially_constructible(_Tp)> | |
{}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_default_constructible_v = __is_trivially_constructible(_Tp); | |
}} | |
# 510 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_destructible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) is_trivially_destructible | |
: public integral_constant<bool, __is_trivially_destructible(_Tp)> {}; | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 | |
template <class _Tp> | |
inline constexpr bool is_trivially_destructible_v = is_trivially_destructible<_Tp>::value; | |
}} | |
# 511 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_move_assignable.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_move_assignable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_trivially_move_assignable | |
: public integral_constant< | |
bool, | |
__is_trivially_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_move_assignable_v = is_trivially_move_assignable<_Tp>::value; | |
}} | |
# 512 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_move_constructible.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_trivially_move_constructible.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_trivially_move_constructible | |
: public integral_constant<bool, __is_trivially_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; | |
template <class _Tp> | |
inline constexpr bool is_trivially_move_constructible_v = is_trivially_move_constructible<_Tp>::value; | |
}} | |
# 513 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unbounded_array.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unbounded_array.h" 3 | |
namespace std { inline namespace __1 { | |
template <class> struct __attribute__((__type_visibility__("default"))) __libcpp_is_unbounded_array : false_type {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) __libcpp_is_unbounded_array<_Tp[]> : true_type {}; | |
# 35 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unbounded_array.h" 3 | |
}} | |
# 514 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unsigned.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unsigned.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) is_unsigned : _BoolConstant<__is_unsigned(_Tp)> { }; | |
template <class _Tp> | |
inline constexpr bool is_unsigned_v = __is_unsigned(_Tp); | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unsigned.h" 3 | |
}} | |
# 516 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Tp> | |
using __make_const_lvalue_ref = const __libcpp_remove_reference_t<_Tp>&; | |
}} | |
# 519 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_signed.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_signed.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __make_signed_t = __make_signed(_Tp); | |
# 75 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_signed.h" 3 | |
template <class _Tp> | |
struct make_signed { | |
using type __attribute__((__nodebug__)) = __make_signed_t<_Tp>; | |
}; | |
template <class _Tp> using make_signed_t = __make_signed_t<_Tp>; | |
}} | |
# 520 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_unsigned.h" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_unsigned.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __make_unsigned_t = __make_unsigned(_Tp); | |
# 77 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/make_unsigned.h" 3 | |
template <class _Tp> | |
struct make_unsigned { | |
using type __attribute__((__nodebug__)) = __make_unsigned_t<_Tp>; | |
}; | |
template <class _Tp> using make_unsigned_t = __make_unsigned_t<_Tp>; | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__make_unsigned_t<_Tp> __to_unsigned_like(_Tp __x) noexcept { | |
return static_cast<__make_unsigned_t<_Tp> >(__x); | |
} | |
template <class _Tp, class _Up> | |
using __copy_unsigned_t = __conditional_t<is_unsigned<_Tp>::value, __make_unsigned_t<_Up>, _Up>; | |
}} | |
# 521 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/maybe_const.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/maybe_const.h" 3 | |
namespace std { inline namespace __1 { | |
template<bool _Const, class _Tp> | |
using __maybe_const = __conditional_t<_Const, const _Tp, _Tp>; | |
}} | |
# 522 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/negation.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/negation.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Pred> | |
struct _Not : _BoolConstant<!_Pred::value> {}; | |
template <class _Tp> | |
struct negation : _Not<_Tp> {}; | |
template<class _Tp> | |
inline constexpr bool negation_v = !_Tp::value; | |
}} | |
# 523 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/rank.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/rank.h" 3 | |
namespace std { inline namespace __1 { | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/rank.h" 3 | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) rank | |
: public integral_constant<size_t, 0> {}; | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) rank<_Tp[]> | |
: public integral_constant<size_t, rank<_Tp>::value + 1> {}; | |
template <class _Tp, size_t _Np> struct __attribute__((__type_visibility__("default"))) rank<_Tp[_Np]> | |
: public integral_constant<size_t, rank<_Tp>::value + 1> {}; | |
template <class _Tp> | |
inline constexpr size_t rank_v = rank<_Tp>::value; | |
}} | |
# 524 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_pointer.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_pointer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct remove_pointer { | |
using type __attribute__((__nodebug__)) = __remove_pointer(_Tp); | |
}; | |
template <class _Tp> | |
using __remove_pointer_t = __remove_pointer(_Tp); | |
# 40 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/remove_pointer.h" 3 | |
template <class _Tp> using remove_pointer_t = __remove_pointer_t<_Tp>; | |
}} | |
# 530 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/result_of.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/result_of.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Callable> class __attribute__((__deprecated__)) result_of; | |
template <class _Fp, class ..._Args> | |
class __attribute__((__type_visibility__("default"))) result_of<_Fp(_Args...)> | |
: public __invoke_of<_Fp, _Args...> | |
{ | |
}; | |
template <class _Tp> using result_of_t __attribute__((__deprecated__)) = typename result_of<_Tp>::type; | |
}} | |
# 533 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/type_identity.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/type_identity.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __type_identity { typedef _Tp type; }; | |
template <class _Tp> | |
using __type_identity_t __attribute__((__nodebug__)) = typename __type_identity<_Tp>::type; | |
}} | |
# 534 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdint" 1 3 | |
# 146 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdint" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdint.h" 1 3 | |
# 110 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdint.h" 3 | |
# 124 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdint.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stdint.h" 1 3 | |
# 52 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stdint.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 1 3 | |
# 26 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/timesize.h" 1 3 | |
# 29 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 2 3 | |
typedef unsigned char __u_char; | |
typedef unsigned short int __u_short; | |
typedef unsigned int __u_int; | |
typedef unsigned long int __u_long; | |
typedef signed char __int8_t; | |
typedef unsigned char __uint8_t; | |
typedef signed short int __int16_t; | |
typedef unsigned short int __uint16_t; | |
typedef signed int __int32_t; | |
typedef unsigned int __uint32_t; | |
typedef signed long int __int64_t; | |
typedef unsigned long int __uint64_t; | |
typedef __int8_t __int_least8_t; | |
typedef __uint8_t __uint_least8_t; | |
typedef __int16_t __int_least16_t; | |
typedef __uint16_t __uint_least16_t; | |
typedef __int32_t __int_least32_t; | |
typedef __uint32_t __uint_least32_t; | |
typedef __int64_t __int_least64_t; | |
typedef __uint64_t __uint_least64_t; | |
typedef long int __quad_t; | |
typedef unsigned long int __u_quad_t; | |
typedef long int __intmax_t; | |
typedef unsigned long int __uintmax_t; | |
# 141 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/typesizes.h" 1 3 | |
# 142 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/time64.h" 1 3 | |
# 143 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types.h" 2 3 | |
typedef unsigned long int __dev_t; | |
typedef unsigned int __uid_t; | |
typedef unsigned int __gid_t; | |
typedef unsigned long int __ino_t; | |
typedef unsigned long int __ino64_t; | |
typedef unsigned int __mode_t; | |
typedef unsigned int __nlink_t; | |
typedef long int __off_t; | |
typedef long int __off64_t; | |
typedef int __pid_t; | |
typedef struct { int __val[2]; } __fsid_t; | |
typedef long int __clock_t; | |
typedef unsigned long int __rlim_t; | |
typedef unsigned long int __rlim64_t; | |
typedef unsigned int __id_t; | |
typedef long int __time_t; | |
typedef unsigned int __useconds_t; | |
typedef long int __suseconds_t; | |
typedef long int __suseconds64_t; | |
typedef int __daddr_t; | |
typedef int __key_t; | |
typedef int __clockid_t; | |
typedef void * __timer_t; | |
typedef int __blksize_t; | |
typedef long int __blkcnt_t; | |
typedef long int __blkcnt64_t; | |
typedef unsigned long int __fsblkcnt_t; | |
typedef unsigned long int __fsblkcnt64_t; | |
typedef unsigned long int __fsfilcnt_t; | |
typedef unsigned long int __fsfilcnt64_t; | |
typedef long int __fsword_t; | |
typedef long int __ssize_t; | |
typedef long int __syscall_slong_t; | |
typedef unsigned long int __syscall_ulong_t; | |
typedef __off64_t __loff_t; | |
typedef char *__caddr_t; | |
typedef long int __intptr_t; | |
typedef unsigned int __socklen_t; | |
typedef int __sig_atomic_t; | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wchar.h" 1 3 | |
# 29 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 30 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdint-intn.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdint-intn.h" 3 | |
typedef __int8_t int8_t; | |
typedef __int16_t int16_t; | |
typedef __int32_t int32_t; | |
typedef __int64_t int64_t; | |
# 35 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdint-uintn.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdint-uintn.h" 3 | |
typedef __uint8_t uint8_t; | |
typedef __uint16_t uint16_t; | |
typedef __uint32_t uint32_t; | |
typedef __uint64_t uint64_t; | |
# 38 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 2 3 | |
typedef __int_least8_t int_least8_t; | |
typedef __int_least16_t int_least16_t; | |
typedef __int_least32_t int_least32_t; | |
typedef __int_least64_t int_least64_t; | |
typedef __uint_least8_t uint_least8_t; | |
typedef __uint_least16_t uint_least16_t; | |
typedef __uint_least32_t uint_least32_t; | |
typedef __uint_least64_t uint_least64_t; | |
typedef signed char int_fast8_t; | |
typedef long int int_fast16_t; | |
typedef long int int_fast32_t; | |
typedef long int int_fast64_t; | |
# 71 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 3 | |
typedef unsigned char uint_fast8_t; | |
typedef unsigned long int uint_fast16_t; | |
typedef unsigned long int uint_fast32_t; | |
typedef unsigned long int uint_fast64_t; | |
# 87 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 3 | |
typedef long int intptr_t; | |
typedef unsigned long int uintptr_t; | |
# 101 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdint.h" 3 | |
typedef __intmax_t intmax_t; | |
typedef __uintmax_t uintmax_t; | |
# 53 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stdint.h" 2 3 | |
# 125 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdint.h" 2 3 | |
# 147 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdint" 2 3 | |
# 158 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdint" 3 | |
namespace std { inline namespace __1 { | |
using ::int8_t __attribute__((__using_if_exists__)); | |
using ::int16_t __attribute__((__using_if_exists__)); | |
using ::int32_t __attribute__((__using_if_exists__)); | |
using ::int64_t __attribute__((__using_if_exists__)); | |
using ::uint8_t __attribute__((__using_if_exists__)); | |
using ::uint16_t __attribute__((__using_if_exists__)); | |
using ::uint32_t __attribute__((__using_if_exists__)); | |
using ::uint64_t __attribute__((__using_if_exists__)); | |
using ::int_least8_t __attribute__((__using_if_exists__)); | |
using ::int_least16_t __attribute__((__using_if_exists__)); | |
using ::int_least32_t __attribute__((__using_if_exists__)); | |
using ::int_least64_t __attribute__((__using_if_exists__)); | |
using ::uint_least8_t __attribute__((__using_if_exists__)); | |
using ::uint_least16_t __attribute__((__using_if_exists__)); | |
using ::uint_least32_t __attribute__((__using_if_exists__)); | |
using ::uint_least64_t __attribute__((__using_if_exists__)); | |
using ::int_fast8_t __attribute__((__using_if_exists__)); | |
using ::int_fast16_t __attribute__((__using_if_exists__)); | |
using ::int_fast32_t __attribute__((__using_if_exists__)); | |
using ::int_fast64_t __attribute__((__using_if_exists__)); | |
using ::uint_fast8_t __attribute__((__using_if_exists__)); | |
using ::uint_fast16_t __attribute__((__using_if_exists__)); | |
using ::uint_fast32_t __attribute__((__using_if_exists__)); | |
using ::uint_fast64_t __attribute__((__using_if_exists__)); | |
using ::intptr_t __attribute__((__using_if_exists__)); | |
using ::uintptr_t __attribute__((__using_if_exists__)); | |
using ::intmax_t __attribute__((__using_if_exists__)); | |
using ::uintmax_t __attribute__((__using_if_exists__)); | |
}} | |
# 539 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 2 3 | |
# 543 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/type_traits" 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 1 3 | |
# 242 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/as_const.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/as_const.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/move.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/move.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr __libcpp_remove_reference_t<_Tp>&& | |
move([[_Clang::__lifetimebound__]] _Tp&& __t) noexcept { | |
typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tp> _Up; | |
return static_cast<_Up&&>(__t); | |
} | |
template <class _Tp> | |
using __move_if_noexcept_result_t = | |
__conditional_t<!is_nothrow_move_constructible<_Tp>::value && is_copy_constructible<_Tp>::value, const _Tp&, _Tp&&>; | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr __move_if_noexcept_result_t<_Tp> | |
move_if_noexcept([[_Clang::__lifetimebound__]] _Tp& __x) noexcept { | |
return std::move(__x); | |
} | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/as_const.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/as_const.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr add_const_t<_Tp>& as_const(_Tp& __t) noexcept { return __t; } | |
template <class _Tp> | |
void as_const(const _Tp&&) = delete; | |
}} | |
# 243 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/auto_cast.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/auto_cast.h" 3 | |
# 244 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits" 1 3 | |
# 113 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 117 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits" 2 3 | |
namespace std { inline namespace __1 { | |
enum float_round_style | |
{ | |
round_indeterminate = -1, | |
round_toward_zero = 0, | |
round_to_nearest = 1, | |
round_toward_infinity = 2, | |
round_toward_neg_infinity = 3 | |
}; | |
enum float_denorm_style | |
{ | |
denorm_indeterminate = -1, | |
denorm_absent = 0, | |
denorm_present = 1 | |
}; | |
template <class _Tp, bool = is_arithmetic<_Tp>::value> | |
class __libcpp_numeric_limits | |
{ | |
protected: | |
typedef _Tp type; | |
static constexpr const bool is_specialized = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return type();} | |
static constexpr const int digits = 0; | |
static constexpr const int digits10 = 0; | |
static constexpr const int max_digits10 = 0; | |
static constexpr const bool is_signed = false; | |
static constexpr const bool is_integer = false; | |
static constexpr const bool is_exact = false; | |
static constexpr const int radix = 0; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return type();} | |
static constexpr const int min_exponent = 0; | |
static constexpr const int min_exponent10 = 0; | |
static constexpr const int max_exponent = 0; | |
static constexpr const int max_exponent10 = 0; | |
static constexpr const bool has_infinity = false; | |
static constexpr const bool has_quiet_NaN = false; | |
static constexpr const bool has_signaling_NaN = false; | |
static constexpr const float_denorm_style has_denorm = denorm_absent; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return type();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return type();} | |
static constexpr const bool is_iec559 = false; | |
static constexpr const bool is_bounded = false; | |
static constexpr const bool is_modulo = false; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = false; | |
static constexpr const float_round_style round_style = round_toward_zero; | |
}; | |
template <class _Tp, int __digits, bool _IsSigned> | |
struct __libcpp_compute_min | |
{ | |
static constexpr const _Tp value = _Tp(_Tp(1) << __digits); | |
}; | |
template <class _Tp, int __digits> | |
struct __libcpp_compute_min<_Tp, __digits, false> | |
{ | |
static constexpr const _Tp value = _Tp(0); | |
}; | |
template <class _Tp> | |
class __libcpp_numeric_limits<_Tp, true> | |
{ | |
protected: | |
typedef _Tp type; | |
static constexpr const bool is_specialized = true; | |
static constexpr const bool is_signed = type(-1) < type(0); | |
static constexpr const int digits = static_cast<int>(sizeof(type) * 8 - is_signed); | |
static constexpr const int digits10 = digits * 3 / 10; | |
static constexpr const int max_digits10 = 0; | |
static constexpr const type __min = __libcpp_compute_min<type, digits, is_signed>::value; | |
static constexpr const type __max = is_signed ? type(type(~0) ^ __min) : type(~0); | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __min;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __max;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return min();} | |
static constexpr const bool is_integer = true; | |
static constexpr const bool is_exact = true; | |
static constexpr const int radix = 2; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return type(0);} | |
static constexpr const int min_exponent = 0; | |
static constexpr const int min_exponent10 = 0; | |
static constexpr const int max_exponent = 0; | |
static constexpr const int max_exponent10 = 0; | |
static constexpr const bool has_infinity = false; | |
static constexpr const bool has_quiet_NaN = false; | |
static constexpr const bool has_signaling_NaN = false; | |
static constexpr const float_denorm_style has_denorm = denorm_absent; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return type(0);} | |
static constexpr const bool is_iec559 = false; | |
static constexpr const bool is_bounded = true; | |
static constexpr const bool is_modulo = !std::is_signed<_Tp>::value; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = false; | |
static constexpr const float_round_style round_style = round_toward_zero; | |
}; | |
template <> | |
class __libcpp_numeric_limits<bool, true> | |
{ | |
protected: | |
typedef bool type; | |
static constexpr const bool is_specialized = true; | |
static constexpr const bool is_signed = false; | |
static constexpr const int digits = 1; | |
static constexpr const int digits10 = 0; | |
static constexpr const int max_digits10 = 0; | |
static constexpr const type __min = false; | |
static constexpr const type __max = true; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __min;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __max;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return min();} | |
static constexpr const bool is_integer = true; | |
static constexpr const bool is_exact = true; | |
static constexpr const int radix = 2; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return type(0);} | |
static constexpr const int min_exponent = 0; | |
static constexpr const int min_exponent10 = 0; | |
static constexpr const int max_exponent = 0; | |
static constexpr const int max_exponent10 = 0; | |
static constexpr const bool has_infinity = false; | |
static constexpr const bool has_quiet_NaN = false; | |
static constexpr const bool has_signaling_NaN = false; | |
static constexpr const float_denorm_style has_denorm = denorm_absent; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return type(0);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return type(0);} | |
static constexpr const bool is_iec559 = false; | |
static constexpr const bool is_bounded = true; | |
static constexpr const bool is_modulo = false; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = false; | |
static constexpr const float_round_style round_style = round_toward_zero; | |
}; | |
template <> | |
class __libcpp_numeric_limits<float, true> | |
{ | |
protected: | |
typedef float type; | |
static constexpr const bool is_specialized = true; | |
static constexpr const bool is_signed = true; | |
static constexpr const int digits = 24; | |
static constexpr const int digits10 = 6; | |
static constexpr const int max_digits10 = 2+(digits * 30103l)/100000l; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return 1.17549435e-38F;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return 3.40282347e+38F;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return -max();} | |
static constexpr const bool is_integer = false; | |
static constexpr const bool is_exact = false; | |
static constexpr const int radix = 2; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return 1.19209290e-7F;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return 0.5F;} | |
static constexpr const int min_exponent = (-125); | |
static constexpr const int min_exponent10 = (-37); | |
static constexpr const int max_exponent = 128; | |
static constexpr const int max_exponent10 = 38; | |
static constexpr const bool has_infinity = true; | |
static constexpr const bool has_quiet_NaN = true; | |
static constexpr const bool has_signaling_NaN = true; | |
static constexpr const float_denorm_style has_denorm = denorm_present; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __builtin_huge_valf();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __builtin_nanf("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __builtin_nansf("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return 1.40129846e-45F;} | |
static constexpr const bool is_iec559 = true; | |
static constexpr const bool is_bounded = true; | |
static constexpr const bool is_modulo = false; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = true; | |
static constexpr const float_round_style round_style = round_to_nearest; | |
}; | |
template <> | |
class __libcpp_numeric_limits<double, true> | |
{ | |
protected: | |
typedef double type; | |
static constexpr const bool is_specialized = true; | |
static constexpr const bool is_signed = true; | |
static constexpr const int digits = 53; | |
static constexpr const int digits10 = 15; | |
static constexpr const int max_digits10 = 2+(digits * 30103l)/100000l; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return 2.2250738585072014e-308;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return 1.7976931348623157e+308;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return -max();} | |
static constexpr const bool is_integer = false; | |
static constexpr const bool is_exact = false; | |
static constexpr const int radix = 2; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return 2.2204460492503131e-16;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return 0.5;} | |
static constexpr const int min_exponent = (-1021); | |
static constexpr const int min_exponent10 = (-307); | |
static constexpr const int max_exponent = 1024; | |
static constexpr const int max_exponent10 = 308; | |
static constexpr const bool has_infinity = true; | |
static constexpr const bool has_quiet_NaN = true; | |
static constexpr const bool has_signaling_NaN = true; | |
static constexpr const float_denorm_style has_denorm = denorm_present; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __builtin_huge_val();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __builtin_nan("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __builtin_nans("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return 4.9406564584124654e-324;} | |
static constexpr const bool is_iec559 = true; | |
static constexpr const bool is_bounded = true; | |
static constexpr const bool is_modulo = false; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = true; | |
static constexpr const float_round_style round_style = round_to_nearest; | |
}; | |
template <> | |
class __libcpp_numeric_limits<long double, true> | |
{ | |
protected: | |
typedef long double type; | |
static constexpr const bool is_specialized = true; | |
static constexpr const bool is_signed = true; | |
static constexpr const int digits = 113; | |
static constexpr const int digits10 = 33; | |
static constexpr const int max_digits10 = 2+(digits * 30103l)/100000l; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return 3.36210314311209350626267781732175260e-4932L;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return 1.18973149535723176508575932662800702e+4932L;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return -max();} | |
static constexpr const bool is_integer = false; | |
static constexpr const bool is_exact = false; | |
static constexpr const int radix = 2; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return 1.92592994438723585305597794258492732e-34L;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return 0.5L;} | |
static constexpr const int min_exponent = (-16381); | |
static constexpr const int min_exponent10 = (-4931); | |
static constexpr const int max_exponent = 16384; | |
static constexpr const int max_exponent10 = 4932; | |
static constexpr const bool has_infinity = true; | |
static constexpr const bool has_quiet_NaN = true; | |
static constexpr const bool has_signaling_NaN = true; | |
static constexpr const float_denorm_style has_denorm = denorm_present; | |
static constexpr const bool has_denorm_loss = false; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __builtin_huge_vall();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __builtin_nanl("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __builtin_nansl("");} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return 6.47517511943802511092443895822764655e-4966L;} | |
static constexpr const bool is_iec559 = true; | |
static constexpr const bool is_bounded = true; | |
static constexpr const bool is_modulo = false; | |
static constexpr const bool traps = false; | |
static constexpr const bool tinyness_before = true; | |
static constexpr const float_round_style round_style = round_to_nearest; | |
}; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) numeric_limits | |
: private __libcpp_numeric_limits<__remove_cv_t<_Tp> > | |
{ | |
typedef __libcpp_numeric_limits<__remove_cv_t<_Tp> > __base; | |
typedef typename __base::type type; | |
public: | |
static constexpr const bool is_specialized = __base::is_specialized; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __base::min();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __base::max();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return __base::lowest();} | |
static constexpr const int digits = __base::digits; | |
static constexpr const int digits10 = __base::digits10; | |
static constexpr const int max_digits10 = __base::max_digits10; | |
static constexpr const bool is_signed = __base::is_signed; | |
static constexpr const bool is_integer = __base::is_integer; | |
static constexpr const bool is_exact = __base::is_exact; | |
static constexpr const int radix = __base::radix; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return __base::epsilon();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return __base::round_error();} | |
static constexpr const int min_exponent = __base::min_exponent; | |
static constexpr const int min_exponent10 = __base::min_exponent10; | |
static constexpr const int max_exponent = __base::max_exponent; | |
static constexpr const int max_exponent10 = __base::max_exponent10; | |
static constexpr const bool has_infinity = __base::has_infinity; | |
static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; | |
static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; | |
static constexpr const float_denorm_style has_denorm = __base::has_denorm; | |
static constexpr const bool has_denorm_loss = __base::has_denorm_loss; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __base::infinity();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return __base::denorm_min();} | |
static constexpr const bool is_iec559 = __base::is_iec559; | |
static constexpr const bool is_bounded = __base::is_bounded; | |
static constexpr const bool is_modulo = __base::is_modulo; | |
static constexpr const bool traps = __base::traps; | |
static constexpr const bool tinyness_before = __base::tinyness_before; | |
static constexpr const float_round_style round_style = __base::round_style; | |
}; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_specialized; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::digits; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::digits10; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::max_digits10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_signed; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_integer; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_exact; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::radix; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::min_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::min_exponent10; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::max_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<_Tp>::max_exponent10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::has_infinity; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::has_quiet_NaN; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::has_signaling_NaN; | |
template <class _Tp> | |
constexpr const float_denorm_style numeric_limits<_Tp>::has_denorm; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::has_denorm_loss; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_iec559; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_bounded; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::is_modulo; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::traps; | |
template <class _Tp> | |
constexpr const bool numeric_limits<_Tp>::tinyness_before; | |
template <class _Tp> | |
constexpr const float_round_style numeric_limits<_Tp>::round_style; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) numeric_limits<const _Tp> | |
: private numeric_limits<_Tp> | |
{ | |
typedef numeric_limits<_Tp> __base; | |
typedef _Tp type; | |
public: | |
static constexpr const bool is_specialized = __base::is_specialized; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __base::min();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __base::max();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return __base::lowest();} | |
static constexpr const int digits = __base::digits; | |
static constexpr const int digits10 = __base::digits10; | |
static constexpr const int max_digits10 = __base::max_digits10; | |
static constexpr const bool is_signed = __base::is_signed; | |
static constexpr const bool is_integer = __base::is_integer; | |
static constexpr const bool is_exact = __base::is_exact; | |
static constexpr const int radix = __base::radix; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return __base::epsilon();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return __base::round_error();} | |
static constexpr const int min_exponent = __base::min_exponent; | |
static constexpr const int min_exponent10 = __base::min_exponent10; | |
static constexpr const int max_exponent = __base::max_exponent; | |
static constexpr const int max_exponent10 = __base::max_exponent10; | |
static constexpr const bool has_infinity = __base::has_infinity; | |
static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; | |
static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; | |
static constexpr const float_denorm_style has_denorm = __base::has_denorm; | |
static constexpr const bool has_denorm_loss = __base::has_denorm_loss; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __base::infinity();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return __base::denorm_min();} | |
static constexpr const bool is_iec559 = __base::is_iec559; | |
static constexpr const bool is_bounded = __base::is_bounded; | |
static constexpr const bool is_modulo = __base::is_modulo; | |
static constexpr const bool traps = __base::traps; | |
static constexpr const bool tinyness_before = __base::tinyness_before; | |
static constexpr const float_round_style round_style = __base::round_style; | |
}; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_specialized; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::digits; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::digits10; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::max_digits10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_signed; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_integer; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_exact; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::radix; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::min_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::min_exponent10; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::max_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<const _Tp>::max_exponent10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::has_infinity; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::has_quiet_NaN; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::has_signaling_NaN; | |
template <class _Tp> | |
constexpr const float_denorm_style numeric_limits<const _Tp>::has_denorm; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::has_denorm_loss; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_iec559; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_bounded; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::is_modulo; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::traps; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const _Tp>::tinyness_before; | |
template <class _Tp> | |
constexpr const float_round_style numeric_limits<const _Tp>::round_style; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) numeric_limits<volatile _Tp> | |
: private numeric_limits<_Tp> | |
{ | |
typedef numeric_limits<_Tp> __base; | |
typedef _Tp type; | |
public: | |
static constexpr const bool is_specialized = __base::is_specialized; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __base::min();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __base::max();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return __base::lowest();} | |
static constexpr const int digits = __base::digits; | |
static constexpr const int digits10 = __base::digits10; | |
static constexpr const int max_digits10 = __base::max_digits10; | |
static constexpr const bool is_signed = __base::is_signed; | |
static constexpr const bool is_integer = __base::is_integer; | |
static constexpr const bool is_exact = __base::is_exact; | |
static constexpr const int radix = __base::radix; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return __base::epsilon();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return __base::round_error();} | |
static constexpr const int min_exponent = __base::min_exponent; | |
static constexpr const int min_exponent10 = __base::min_exponent10; | |
static constexpr const int max_exponent = __base::max_exponent; | |
static constexpr const int max_exponent10 = __base::max_exponent10; | |
static constexpr const bool has_infinity = __base::has_infinity; | |
static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; | |
static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; | |
static constexpr const float_denorm_style has_denorm = __base::has_denorm; | |
static constexpr const bool has_denorm_loss = __base::has_denorm_loss; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __base::infinity();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return __base::denorm_min();} | |
static constexpr const bool is_iec559 = __base::is_iec559; | |
static constexpr const bool is_bounded = __base::is_bounded; | |
static constexpr const bool is_modulo = __base::is_modulo; | |
static constexpr const bool traps = __base::traps; | |
static constexpr const bool tinyness_before = __base::tinyness_before; | |
static constexpr const float_round_style round_style = __base::round_style; | |
}; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_specialized; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::digits; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::digits10; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::max_digits10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_signed; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_integer; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_exact; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::radix; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::min_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::min_exponent10; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::max_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<volatile _Tp>::max_exponent10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::has_infinity; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::has_quiet_NaN; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::has_signaling_NaN; | |
template <class _Tp> | |
constexpr const float_denorm_style numeric_limits<volatile _Tp>::has_denorm; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::has_denorm_loss; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_iec559; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_bounded; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::is_modulo; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::traps; | |
template <class _Tp> | |
constexpr const bool numeric_limits<volatile _Tp>::tinyness_before; | |
template <class _Tp> | |
constexpr const float_round_style numeric_limits<volatile _Tp>::round_style; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) numeric_limits<const volatile _Tp> | |
: private numeric_limits<_Tp> | |
{ | |
typedef numeric_limits<_Tp> __base; | |
typedef _Tp type; | |
public: | |
static constexpr const bool is_specialized = __base::is_specialized; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type min() noexcept {return __base::min();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type max() noexcept {return __base::max();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type lowest() noexcept {return __base::lowest();} | |
static constexpr const int digits = __base::digits; | |
static constexpr const int digits10 = __base::digits10; | |
static constexpr const int max_digits10 = __base::max_digits10; | |
static constexpr const bool is_signed = __base::is_signed; | |
static constexpr const bool is_integer = __base::is_integer; | |
static constexpr const bool is_exact = __base::is_exact; | |
static constexpr const int radix = __base::radix; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type epsilon() noexcept {return __base::epsilon();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type round_error() noexcept {return __base::round_error();} | |
static constexpr const int min_exponent = __base::min_exponent; | |
static constexpr const int min_exponent10 = __base::min_exponent10; | |
static constexpr const int max_exponent = __base::max_exponent; | |
static constexpr const int max_exponent10 = __base::max_exponent10; | |
static constexpr const bool has_infinity = __base::has_infinity; | |
static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; | |
static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; | |
static constexpr const float_denorm_style has_denorm = __base::has_denorm; | |
static constexpr const bool has_denorm_loss = __base::has_denorm_loss; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type infinity() noexcept {return __base::infinity();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr type denorm_min() noexcept {return __base::denorm_min();} | |
static constexpr const bool is_iec559 = __base::is_iec559; | |
static constexpr const bool is_bounded = __base::is_bounded; | |
static constexpr const bool is_modulo = __base::is_modulo; | |
static constexpr const bool traps = __base::traps; | |
static constexpr const bool tinyness_before = __base::tinyness_before; | |
static constexpr const float_round_style round_style = __base::round_style; | |
}; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_specialized; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::digits; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::digits10; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::max_digits10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_signed; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_integer; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_exact; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::radix; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::min_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::min_exponent10; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::max_exponent; | |
template <class _Tp> | |
constexpr const int numeric_limits<const volatile _Tp>::max_exponent10; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::has_infinity; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::has_quiet_NaN; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::has_signaling_NaN; | |
template <class _Tp> | |
constexpr const float_denorm_style numeric_limits<const volatile _Tp>::has_denorm; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::has_denorm_loss; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_iec559; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_bounded; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::is_modulo; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::traps; | |
template <class _Tp> | |
constexpr const bool numeric_limits<const volatile _Tp>::tinyness_before; | |
template <class _Tp> | |
constexpr const float_round_style numeric_limits<const volatile _Tp>::round_style; | |
}} | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 28 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 2 3 | |
namespace std { inline namespace __1 { | |
# 107 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/cmp.h" 3 | |
}} | |
# 245 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exception_guard.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exception_guard.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exchange.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exchange.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _T1, class _T2 = _T1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_T1 exchange(_T1& __obj, _T2&& __new_value) | |
noexcept(is_nothrow_move_constructible<_T1>::value && is_nothrow_assignable<_T1&, _T2>::value) | |
{ | |
_T1 __old_value = std::move(__obj); | |
__obj = std::forward<_T2>(__new_value); | |
return __old_value; | |
} | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exception_guard.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exception_guard.h" 3 | |
namespace std { inline namespace __1 { | |
# 61 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/exception_guard.h" 3 | |
template <class _Rollback> | |
struct __exception_guard_exceptions { | |
__exception_guard_exceptions() = delete; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit __exception_guard_exceptions(_Rollback __rollback) | |
: __rollback_(std::move(__rollback)), __completed_(false) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
__exception_guard_exceptions(__exception_guard_exceptions&& __other) | |
noexcept(is_nothrow_move_constructible<_Rollback>::value) | |
: __rollback_(std::move(__other.__rollback_)), __completed_(__other.__completed_) { | |
__other.__completed_ = true; | |
} | |
__exception_guard_exceptions(__exception_guard_exceptions const&) = delete; | |
__exception_guard_exceptions& operator=(__exception_guard_exceptions const&) = delete; | |
__exception_guard_exceptions& operator=(__exception_guard_exceptions&&) = delete; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void __complete() noexcept { __completed_ = true; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) ~__exception_guard_exceptions() { | |
if (!__completed_) | |
__rollback_(); | |
} | |
private: | |
_Rollback __rollback_; | |
bool __completed_; | |
}; | |
template <class ..._Tag> __exception_guard_exceptions(typename _Tag::__allow_ctad...) -> __exception_guard_exceptions<_Tag...>; | |
template <class _Rollback> | |
struct __exception_guard_noexceptions { | |
__exception_guard_noexceptions() = delete; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
__attribute__((__nodebug__)) explicit __exception_guard_noexceptions(_Rollback) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__nodebug__)) | |
__exception_guard_noexceptions(__exception_guard_noexceptions&& __other) | |
noexcept(is_nothrow_move_constructible<_Rollback>::value) | |
: __completed_(__other.__completed_) { | |
__other.__completed_ = true; | |
} | |
__exception_guard_noexceptions(__exception_guard_noexceptions const&) = delete; | |
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions const&) = delete; | |
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions&&) = delete; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__nodebug__)) void __complete() noexcept { | |
__completed_ = true; | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__nodebug__)) ~__exception_guard_noexceptions() { | |
(__builtin_expect(static_cast<bool>(__completed_), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__completed_", "__exception_guard not completed with exceptions disabled")); | |
} | |
private: | |
bool __completed_ = false; | |
}; | |
template <class ..._Tag> __exception_guard_noexceptions(typename _Tag::__allow_ctad...) -> __exception_guard_noexceptions<_Tag...>; | |
template <class _Rollback> | |
using __exception_guard = __exception_guard_noexceptions<_Rollback>; | |
template <class _Rollback> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr __exception_guard<_Rollback> __make_exception_guard(_Rollback __rollback) { | |
return __exception_guard<_Rollback>(std::move(__rollback)); | |
} | |
}} | |
# 247 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/forward_like.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/forward_like.h" 3 | |
namespace std { inline namespace __1 { | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/forward_like.h" 3 | |
}} | |
# 250 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/in_place.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/in_place.h" 3 | |
namespace std { inline namespace __1 { | |
struct __attribute__((__visibility__("default"))) in_place_t { | |
explicit in_place_t() = default; | |
}; | |
inline constexpr in_place_t in_place{}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) in_place_type_t { | |
explicit in_place_type_t() = default; | |
}; | |
template <class _Tp> | |
inline constexpr in_place_type_t<_Tp> in_place_type{}; | |
template <size_t _Idx> | |
struct __attribute__((__type_visibility__("default"))) in_place_index_t { | |
explicit in_place_index_t() = default; | |
}; | |
template <size_t _Idx> | |
inline constexpr in_place_index_t<_Idx> in_place_index{}; | |
template <class _Tp> struct __is_inplace_type_imp : false_type {}; | |
template <class _Tp> struct __is_inplace_type_imp<in_place_type_t<_Tp>> : true_type {}; | |
template <class _Tp> | |
using __is_inplace_type = __is_inplace_type_imp<__remove_cvref_t<_Tp>>; | |
template <class _Tp> struct __is_inplace_index_imp : false_type {}; | |
template <size_t _Idx> struct __is_inplace_index_imp<in_place_index_t<_Idx>> : true_type {}; | |
template <class _Tp> | |
using __is_inplace_index = __is_inplace_index_imp<__remove_cvref_t<_Tp>>; | |
}} | |
# 251 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 3 | |
namespace std { inline namespace __1 { | |
template <size_t...> struct __tuple_indices; | |
template <class _IdxType, _IdxType... _Values> | |
struct __integer_sequence { | |
template <template <class _OIdxType, _OIdxType...> class _ToIndexSeq, class _ToIndexType> | |
using __convert = _ToIndexSeq<_ToIndexType, _Values...>; | |
template <size_t _Sp> | |
using __to_tuple_indices = __tuple_indices<(_Values + _Sp)...>; | |
}; | |
# 77 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 3 | |
template <size_t _Ep, size_t _Sp> | |
using __make_indices_imp = | |
typename __make_integer_seq<__integer_sequence, size_t, _Ep - _Sp>::template | |
__to_tuple_indices<_Sp>; | |
# 90 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 3 | |
template<class _Tp, _Tp... _Ip> | |
struct __attribute__((__type_visibility__("default"))) integer_sequence | |
{ | |
typedef _Tp value_type; | |
static_assert( is_integral<_Tp>::value, | |
"std::integer_sequence can only be instantiated with an integral type" ); | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
size_t | |
size() noexcept { return sizeof...(_Ip); } | |
}; | |
template<size_t... _Ip> | |
using index_sequence = integer_sequence<size_t, _Ip...>; | |
template <class _Tp, _Tp _Ep> | |
using __make_integer_sequence __attribute__((__nodebug__)) = __make_integer_seq<integer_sequence, _Tp, _Ep>; | |
# 132 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 3 | |
template<class _Tp, _Tp _Np> | |
using make_integer_sequence = __make_integer_sequence<_Tp, _Np>; | |
template<size_t _Np> | |
using make_index_sequence = make_integer_sequence<size_t, _Np>; | |
template<class... _Tp> | |
using index_sequence_for = make_index_sequence<sizeof...(_Tp)>; | |
# 151 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/integer_sequence.h" 3 | |
}} | |
# 252 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/common_comparison_category.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/common_comparison_category.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/ordering.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/ordering.h" 3 | |
namespace std { inline namespace __1 { | |
# 324 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/ordering.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/common_comparison_category.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/common_comparison_category.h" 3 | |
namespace std { inline namespace __1 { | |
# 93 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/common_comparison_category.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/synth_three_way.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/synth_three_way.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/convertible_to.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/convertible_to.h" 3 | |
namespace std { inline namespace __1 { | |
# 35 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/convertible_to.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/same_as.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/same_as.h" 3 | |
namespace std { inline namespace __1 { | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/same_as.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 3 | |
namespace std { inline namespace __1 { | |
# 35 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/common_reference_with.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/equality_comparable.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/equality_comparable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/boolean_testable.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/boolean_testable.h" 3 | |
namespace std { inline namespace __1 { | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/boolean_testable.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/equality_comparable.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/equality_comparable.h" 3 | |
namespace std { inline namespace __1 { | |
# 52 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/equality_comparable.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/totally_ordered.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/totally_ordered.h" 3 | |
namespace std { inline namespace __1 { | |
# 56 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/totally_ordered.h" 3 | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 3 | |
namespace std { inline namespace __1 { | |
# 57 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/three_way_comparable.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/synth_three_way.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/synth_three_way.h" 3 | |
namespace std { inline namespace __1 { | |
# 49 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/synth_three_way.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unwrap_ref.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unwrap_ref.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __unwrap_reference { typedef __attribute__((__nodebug__)) _Tp type; }; | |
template <class _Tp> | |
class reference_wrapper; | |
template <class _Tp> | |
struct __unwrap_reference<reference_wrapper<_Tp> > { typedef __attribute__((__nodebug__)) _Tp& type; }; | |
template <class _Tp> | |
struct decay; | |
# 47 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unwrap_ref.h" 3 | |
template <class _Tp> | |
struct __unwrap_ref_decay | |
: __unwrap_reference<typename decay<_Tp>::type> | |
{ }; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/assignable.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/assignable.h" 3 | |
namespace std { inline namespace __1 { | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/assignable.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/constructible.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/constructible.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/destructible.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/destructible.h" 3 | |
namespace std { inline namespace __1 { | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/destructible.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/constructible.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/constructible.h" 3 | |
namespace std { inline namespace __1 { | |
# 54 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/constructible.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/movable.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/movable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/class_or_enum.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/class_or_enum.h" 3 | |
namespace std { inline namespace __1 { | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/class_or_enum.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/swap.h" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/swap.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __swap_result_t = typename enable_if<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>::type; | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __swap_result_t<_Tp> swap(_Tp& __x, _Tp& __y) | |
noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value) { | |
_Tp __t(std::move(__x)); | |
__x = std::move(__y); | |
__y = std::move(__t); | |
} | |
template <class _Tp, size_t _Np> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) typename enable_if<__is_swappable<_Tp>::value>::type | |
swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp>::value) { | |
for (size_t __i = 0; __i != _Np; ++__i) { | |
swap(__a[__i], __b[__i]); | |
} | |
} | |
}} | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 2 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 3 | |
namespace std { inline namespace __1 { | |
# 119 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/swappable.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/movable.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/movable.h" 3 | |
namespace std { inline namespace __1 { | |
# 37 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/movable.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 3 | |
namespace std { inline namespace __1 { | |
# 37 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/copyable.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/array.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/array.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, size_t _Size> | |
struct __attribute__((__type_visibility__("default"))) array; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/subrange.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/subrange.h" 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/tuple.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/tuple.h" 3 | |
namespace std { inline namespace __1 { | |
template <class...> | |
class __attribute__((__type_visibility__("default"))) tuple; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_indices.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_indices.h" 3 | |
namespace std { inline namespace __1 { | |
template <size_t...> struct __tuple_indices {}; | |
template <size_t _Ep, size_t _Sp = 0> | |
struct __make_tuple_indices | |
{ | |
static_assert(_Sp <= _Ep, "__make_tuple_indices input error"); | |
typedef __make_indices_imp<_Ep, _Sp> type; | |
}; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_types.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_types.h" 3 | |
namespace std { inline namespace __1 { | |
template <class ..._Tp> struct __tuple_types {}; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 3 | |
namespace std { inline namespace __1 { | |
template <size_t _Ip, class _Tp> struct __attribute__((__type_visibility__("default"))) tuple_element; | |
template <size_t _Ip, class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, const _Tp> | |
{ | |
typedef __attribute__((__nodebug__)) typename add_const<typename tuple_element<_Ip, _Tp>::type>::type type; | |
}; | |
template <size_t _Ip, class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, volatile _Tp> | |
{ | |
typedef __attribute__((__nodebug__)) typename add_volatile<typename tuple_element<_Ip, _Tp>::type>::type type; | |
}; | |
template <size_t _Ip, class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, const volatile _Tp> | |
{ | |
typedef __attribute__((__nodebug__)) typename add_cv<typename tuple_element<_Ip, _Tp>::type>::type type; | |
}; | |
# 77 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_element.h" 3 | |
template <size_t _Ip, class ..._Types> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, __tuple_types<_Types...> > | |
{ | |
static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range"); | |
typedef __attribute__((__nodebug__)) __type_pack_element<_Ip, _Types...> type; | |
}; | |
template <size_t _Ip, class ..._Tp> | |
using tuple_element_t __attribute__((__nodebug__)) = typename tuple_element <_Ip, _Tp...>::type; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 3 | |
namespace std { inline namespace __1 { | |
template <size_t _Ip, class ..._Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
get(tuple<_Tp...>&) noexcept; | |
template <size_t _Ip, class ..._Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, tuple<_Tp...> >::type& | |
get(const tuple<_Tp...>&) noexcept; | |
template <size_t _Ip, class ..._Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
get(tuple<_Tp...>&&) noexcept; | |
template <size_t _Ip, class ..._Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, tuple<_Tp...> >::type&& | |
get(const tuple<_Tp...>&&) noexcept; | |
template <size_t _Ip, class _T1, class _T2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
get(pair<_T1, _T2>&) noexcept; | |
template <size_t _Ip, class _T1, class _T2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
get(const pair<_T1, _T2>&) noexcept; | |
template <size_t _Ip, class _T1, class _T2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
get(pair<_T1, _T2>&&) noexcept; | |
template <size_t _Ip, class _T1, class _T2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
get(const pair<_T1, _T2>&&) noexcept; | |
template <size_t _Ip, class _Tp, size_t _Size> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp& | |
get(array<_Tp, _Size>&) noexcept; | |
template <size_t _Ip, class _Tp, size_t _Size> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _Tp& | |
get(const array<_Tp, _Size>&) noexcept; | |
template <size_t _Ip, class _Tp, size_t _Size> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp&& | |
get(array<_Tp, _Size>&&) noexcept; | |
template <size_t _Ip, class _Tp, size_t _Size> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _Tp&& | |
get(const array<_Tp, _Size>&&) noexcept; | |
# 113 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/get.h" 3 | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/sfinae_helpers.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/sfinae_helpers.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/make_tuple_types.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/make_tuple_types.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/apply_cv.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/apply_cv.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool _ApplyLV, bool _ApplyConst, bool _ApplyVolatile> | |
struct __apply_cv_mf; | |
template <> | |
struct __apply_cv_mf<false, false, false> { | |
template <class _Tp> using __apply = _Tp; | |
}; | |
template <> | |
struct __apply_cv_mf<false, true, false> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = const _Tp; | |
}; | |
template <> | |
struct __apply_cv_mf<false, false, true> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = volatile _Tp; | |
}; | |
template <> | |
struct __apply_cv_mf<false, true, true> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = const volatile _Tp; | |
}; | |
template <> | |
struct __apply_cv_mf<true, false, false> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = _Tp&; | |
}; | |
template <> | |
struct __apply_cv_mf<true, true, false> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = const _Tp&; | |
}; | |
template <> | |
struct __apply_cv_mf<true, false, true> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = volatile _Tp&; | |
}; | |
template <> | |
struct __apply_cv_mf<true, true, true> { | |
template <class _Tp> using __apply __attribute__((__nodebug__)) = const volatile _Tp&; | |
}; | |
template <class _Tp, class _RawTp = __libcpp_remove_reference_t<_Tp> > | |
using __apply_cv_t __attribute__((__nodebug__)) = __apply_cv_mf< | |
is_lvalue_reference<_Tp>::value, | |
is_const<_RawTp>::value, | |
is_volatile<_RawTp>::value>; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/make_tuple_types.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_size.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_size.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __attribute__((__type_visibility__("default"))) tuple_size; | |
template <class _Tp, class...> | |
using __enable_if_tuple_size_imp = _Tp; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<__enable_if_tuple_size_imp< | |
const _Tp, | |
__enable_if_t<!is_volatile<_Tp>::value>, | |
integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> | |
: public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<__enable_if_tuple_size_imp< | |
volatile _Tp, | |
__enable_if_t<!is_const<_Tp>::value>, | |
integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> | |
: public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<__enable_if_tuple_size_imp< | |
const volatile _Tp, | |
integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> | |
: public integral_constant<size_t, tuple_size<_Tp>::value> {}; | |
# 59 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_size.h" 3 | |
template <class ..._Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<tuple<_Tp...> > | |
: public integral_constant<size_t, sizeof...(_Tp)> | |
{ | |
}; | |
template <class ..._Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<__tuple_types<_Tp...> > | |
: public integral_constant<size_t, sizeof...(_Tp)> | |
{ | |
}; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/make_tuple_types.h" 2 3 | |
# 26 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/make_tuple_types.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _TupleTypes, class _TupleIndices> | |
struct __make_tuple_types_flat; | |
template <template <class...> class _Tuple, class ..._Types, size_t ..._Idx> | |
struct __make_tuple_types_flat<_Tuple<_Types...>, __tuple_indices<_Idx...>> { | |
template <class _Tp, class _ApplyFn = __apply_cv_t<_Tp>> | |
using __apply_quals __attribute__((__nodebug__)) = __tuple_types< | |
typename _ApplyFn::template __apply<__type_pack_element<_Idx, _Types...>>... | |
>; | |
}; | |
template <class _Vt, size_t _Np, size_t ..._Idx> | |
struct __make_tuple_types_flat<array<_Vt, _Np>, __tuple_indices<_Idx...>> { | |
template <size_t> | |
using __value_type = _Vt; | |
template <class _Tp, class _ApplyFn = __apply_cv_t<_Tp>> | |
using __apply_quals = __tuple_types< | |
typename _ApplyFn::template __apply<__value_type<_Idx>>... | |
>; | |
}; | |
template <class _Tp, size_t _Ep = tuple_size<__libcpp_remove_reference_t<_Tp> >::value, | |
size_t _Sp = 0, | |
bool _SameSize = (_Ep == tuple_size<__libcpp_remove_reference_t<_Tp> >::value)> | |
struct __make_tuple_types | |
{ | |
static_assert(_Sp <= _Ep, "__make_tuple_types input error"); | |
using _RawTp = __remove_cv_t<__libcpp_remove_reference_t<_Tp> >; | |
using _Maker = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>; | |
using type = typename _Maker::template __apply_quals<_Tp>; | |
}; | |
template <class ..._Types, size_t _Ep> | |
struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> { | |
typedef __attribute__((__nodebug__)) __tuple_types<_Types...> type; | |
}; | |
template <class ..._Types, size_t _Ep> | |
struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> { | |
typedef __attribute__((__nodebug__)) __tuple_types<_Types...> type; | |
}; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/sfinae_helpers.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_like_ext.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_like_ext.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __tuple_like_ext : false_type {}; | |
template <class _Tp> struct __tuple_like_ext<const _Tp> : public __tuple_like_ext<_Tp> {}; | |
template <class _Tp> struct __tuple_like_ext<volatile _Tp> : public __tuple_like_ext<_Tp> {}; | |
template <class _Tp> struct __tuple_like_ext<const volatile _Tp> : public __tuple_like_ext<_Tp> {}; | |
template <class... _Tp> struct __tuple_like_ext<tuple<_Tp...> > : true_type {}; | |
template <class _T1, class _T2> struct __tuple_like_ext<pair<_T1, _T2> > : true_type {}; | |
template <class _Tp, size_t _Size> struct __tuple_like_ext<array<_Tp, _Size> > : true_type {}; | |
template <class... _Tp> struct __tuple_like_ext<__tuple_types<_Tp...> > : true_type {}; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/sfinae_helpers.h" 2 3 | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/sfinae_helpers.h" 3 | |
namespace std { inline namespace __1 { | |
template <bool ..._Preds> | |
struct __all_dummy; | |
template <bool ..._Pred> | |
struct __all : _IsSame<__all_dummy<_Pred...>, __all_dummy<((void)_Pred, true)...>> {}; | |
struct __tuple_sfinae_base { | |
template <template <class, class...> class _Trait, | |
class ..._LArgs, class ..._RArgs> | |
static auto __do_test(__tuple_types<_LArgs...>, __tuple_types<_RArgs...>) | |
-> __all<__enable_if_t<_Trait<_LArgs, _RArgs>::value, bool>{true}...>; | |
template <template <class...> class> | |
static auto __do_test(...) -> false_type; | |
template <class _FromArgs, class _ToArgs> | |
using __constructible = decltype(__do_test<is_constructible>(_ToArgs{}, _FromArgs{})); | |
template <class _FromArgs, class _ToArgs> | |
using __convertible = decltype(__do_test<is_convertible>(_FromArgs{}, _ToArgs{})); | |
template <class _FromArgs, class _ToArgs> | |
using __assignable = decltype(__do_test<is_assignable>(_ToArgs{}, _FromArgs{})); | |
}; | |
template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, | |
bool = __tuple_like_ext<_Up>::value> | |
struct __tuple_convertible | |
: public false_type {}; | |
template <class _Tp, class _Up> | |
struct __tuple_convertible<_Tp, _Up, true, true> | |
: public __tuple_sfinae_base::__convertible< | |
typename __make_tuple_types<_Tp>::type | |
, typename __make_tuple_types<_Up>::type | |
> | |
{}; | |
template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, | |
bool = __tuple_like_ext<_Up>::value> | |
struct __tuple_constructible | |
: public false_type {}; | |
template <class _Tp, class _Up> | |
struct __tuple_constructible<_Tp, _Up, true, true> | |
: public __tuple_sfinae_base::__constructible< | |
typename __make_tuple_types<_Tp>::type | |
, typename __make_tuple_types<_Up>::type | |
> | |
{}; | |
template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, | |
bool = __tuple_like_ext<_Up>::value> | |
struct __tuple_assignable | |
: public false_type {}; | |
template <class _Tp, class _Up> | |
struct __tuple_assignable<_Tp, _Up, true, true> | |
: public __tuple_sfinae_base::__assignable< | |
typename __make_tuple_types<_Tp>::type | |
, typename __make_tuple_types<_Up&>::type | |
> | |
{}; | |
template <size_t _Ip, class ..._Tp> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, tuple<_Tp...> > | |
{ | |
typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type; | |
}; | |
template <bool _IsTuple, class _SizeTrait, size_t _Expected> | |
struct __tuple_like_with_size_imp : false_type {}; | |
template <class _SizeTrait, size_t _Expected> | |
struct __tuple_like_with_size_imp<true, _SizeTrait, _Expected> | |
: integral_constant<bool, _SizeTrait::value == _Expected> {}; | |
template <class _Tuple, size_t _ExpectedSize, class _RawTuple = __libcpp_remove_reference_t<_Tuple> > | |
using __tuple_like_with_size __attribute__((__nodebug__)) = __tuple_like_with_size_imp< | |
__tuple_like_ext<_RawTuple>::value, | |
tuple_size<_RawTuple>, _ExpectedSize | |
>; | |
struct __attribute__((__visibility__("default"))) __check_tuple_constructor_fail { | |
static constexpr bool __enable_explicit_default() { return false; } | |
static constexpr bool __enable_implicit_default() { return false; } | |
template <class ...> | |
static constexpr bool __enable_explicit() { return false; } | |
template <class ...> | |
static constexpr bool __enable_implicit() { return false; } | |
template <class ...> | |
static constexpr bool __enable_assign() { return false; } | |
}; | |
template <bool _CanCopy, bool _CanMove> | |
struct __sfinae_ctor_base {}; | |
template <> | |
struct __sfinae_ctor_base<false, false> { | |
__sfinae_ctor_base() = default; | |
__sfinae_ctor_base(__sfinae_ctor_base const&) = delete; | |
__sfinae_ctor_base(__sfinae_ctor_base &&) = delete; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
}; | |
template <> | |
struct __sfinae_ctor_base<true, false> { | |
__sfinae_ctor_base() = default; | |
__sfinae_ctor_base(__sfinae_ctor_base const&) = default; | |
__sfinae_ctor_base(__sfinae_ctor_base &&) = delete; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
}; | |
template <> | |
struct __sfinae_ctor_base<false, true> { | |
__sfinae_ctor_base() = default; | |
__sfinae_ctor_base(__sfinae_ctor_base const&) = delete; | |
__sfinae_ctor_base(__sfinae_ctor_base &&) = default; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; | |
__sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; | |
}; | |
template <bool _CanCopy, bool _CanMove> | |
struct __sfinae_assign_base {}; | |
template <> | |
struct __sfinae_assign_base<false, false> { | |
__sfinae_assign_base() = default; | |
__sfinae_assign_base(__sfinae_assign_base const&) = default; | |
__sfinae_assign_base(__sfinae_assign_base &&) = default; | |
__sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; | |
__sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; | |
}; | |
template <> | |
struct __sfinae_assign_base<true, false> { | |
__sfinae_assign_base() = default; | |
__sfinae_assign_base(__sfinae_assign_base const&) = default; | |
__sfinae_assign_base(__sfinae_assign_base &&) = default; | |
__sfinae_assign_base& operator=(__sfinae_assign_base const&) = default; | |
__sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; | |
}; | |
template <> | |
struct __sfinae_assign_base<false, true> { | |
__sfinae_assign_base() = default; | |
__sfinae_assign_base(__sfinae_assign_base const&) = default; | |
__sfinae_assign_base(__sfinae_assign_base &&) = default; | |
__sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; | |
__sfinae_assign_base& operator=(__sfinae_assign_base&&) = default; | |
}; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/piecewise_construct.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/piecewise_construct.h" 3 | |
namespace std { inline namespace __1 { | |
struct __attribute__((__type_visibility__("default"))) piecewise_construct_t { explicit piecewise_construct_t() = default; }; | |
constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); | |
}} | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 2 3 | |
# 48 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
namespace std { inline namespace __1 { | |
template <class, class> | |
struct __non_trivially_copyable_base { | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
__non_trivially_copyable_base() noexcept {} | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
__non_trivially_copyable_base(__non_trivially_copyable_base const&) noexcept {} | |
}; | |
template <class _T1, class _T2> | |
struct __attribute__((__type_visibility__("default"))) pair | |
{ | |
using first_type = _T1; | |
using second_type = _T2; | |
_T1 first; | |
_T2 second; | |
pair(pair const&) = default; | |
pair(pair&&) = default; | |
# 93 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
struct _CheckArgs { | |
template <int&...> | |
static constexpr bool __enable_explicit_default() { | |
return is_default_constructible<_T1>::value | |
&& is_default_constructible<_T2>::value | |
&& !__enable_implicit_default<>(); | |
} | |
template <int&...> | |
static constexpr bool __enable_implicit_default() { | |
return __is_implicitly_default_constructible<_T1>::value | |
&& __is_implicitly_default_constructible<_T2>::value; | |
} | |
template <class _U1, class _U2> | |
static constexpr bool __is_pair_constructible() { | |
return is_constructible<first_type, _U1>::value | |
&& is_constructible<second_type, _U2>::value; | |
} | |
template <class _U1, class _U2> | |
static constexpr bool __is_implicit() { | |
return is_convertible<_U1, first_type>::value | |
&& is_convertible<_U2, second_type>::value; | |
} | |
template <class _U1, class _U2> | |
static constexpr bool __enable_explicit() { | |
return __is_pair_constructible<_U1, _U2>() && !__is_implicit<_U1, _U2>(); | |
} | |
template <class _U1, class _U2> | |
static constexpr bool __enable_implicit() { | |
return __is_pair_constructible<_U1, _U2>() && __is_implicit<_U1, _U2>(); | |
} | |
}; | |
template <bool _MaybeEnable> | |
using _CheckArgsDep __attribute__((__nodebug__)) = typename conditional< | |
_MaybeEnable, _CheckArgs, __check_tuple_constructor_fail>::type; | |
struct _CheckTupleLikeConstructor { | |
template <class _Tuple> | |
static constexpr bool __enable_implicit() { | |
return __tuple_convertible<_Tuple, pair>::value; | |
} | |
template <class _Tuple> | |
static constexpr bool __enable_explicit() { | |
return __tuple_constructible<_Tuple, pair>::value | |
&& !__tuple_convertible<_Tuple, pair>::value; | |
} | |
template <class _Tuple> | |
static constexpr bool __enable_assign() { | |
return __tuple_assignable<_Tuple, pair>::value; | |
} | |
}; | |
template <class _Tuple> | |
using _CheckTLC __attribute__((__nodebug__)) = __conditional_t< | |
__tuple_like_with_size<_Tuple, 2>::value | |
&& !is_same<typename decay<_Tuple>::type, pair>::value, | |
_CheckTupleLikeConstructor, | |
__check_tuple_constructor_fail | |
>; | |
template<bool _Dummy = true, typename enable_if< | |
_CheckArgsDep<_Dummy>::__enable_explicit_default() | |
>::type* = nullptr> | |
explicit __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair() noexcept(is_nothrow_default_constructible<first_type>::value && is_nothrow_default_constructible<second_type>::value) | |
: first(), second() {} | |
template<bool _Dummy = true, typename enable_if< | |
_CheckArgsDep<_Dummy>::__enable_implicit_default() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair() noexcept(is_nothrow_default_constructible<first_type>::value && is_nothrow_default_constructible<second_type>::value) | |
: first(), second() {} | |
template <bool _Dummy = true, typename enable_if< | |
_CheckArgsDep<_Dummy>::template __enable_explicit<_T1 const&, _T2 const&>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit pair(_T1 const& __t1, _T2 const& __t2) | |
noexcept(is_nothrow_copy_constructible<first_type>::value && is_nothrow_copy_constructible<second_type>::value) | |
: first(__t1), second(__t2) {} | |
template<bool _Dummy = true, typename enable_if< | |
_CheckArgsDep<_Dummy>::template __enable_implicit<_T1 const&, _T2 const&>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair(_T1 const& __t1, _T2 const& __t2) | |
noexcept(is_nothrow_copy_constructible<first_type>::value && is_nothrow_copy_constructible<second_type>::value) | |
: first(__t1), second(__t2) {} | |
template < | |
class _U1, class _U2, | |
typename enable_if<_CheckArgs::template __enable_explicit<_U1, _U2>()>::type* = nullptr | |
> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit pair(_U1&& __u1, _U2&& __u2) | |
noexcept((is_nothrow_constructible<first_type, _U1>::value && is_nothrow_constructible<second_type, _U2>::value)) | |
: first(std::forward<_U1>(__u1)), second(std::forward<_U2>(__u2)) {} | |
template < | |
class _U1, class _U2, | |
typename enable_if<_CheckArgs::template __enable_implicit<_U1, _U2>()>::type* = nullptr | |
> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair(_U1&& __u1, _U2&& __u2) | |
noexcept((is_nothrow_constructible<first_type, _U1>::value && is_nothrow_constructible<second_type, _U2>::value)) | |
: first(std::forward<_U1>(__u1)), second(std::forward<_U2>(__u2)) {} | |
# 233 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template<class _U1, class _U2, typename enable_if< | |
_CheckArgs::template __enable_explicit<_U1 const&, _U2 const&>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit pair(pair<_U1, _U2> const& __p) | |
noexcept((is_nothrow_constructible<first_type, _U1 const&>::value && is_nothrow_constructible<second_type, _U2 const&>::value)) | |
: first(__p.first), second(__p.second) {} | |
template<class _U1, class _U2, typename enable_if< | |
_CheckArgs::template __enable_implicit<_U1 const&, _U2 const&>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair(pair<_U1, _U2> const& __p) | |
noexcept((is_nothrow_constructible<first_type, _U1 const&>::value && is_nothrow_constructible<second_type, _U2 const&>::value)) | |
: first(__p.first), second(__p.second) {} | |
template<class _U1, class _U2, typename enable_if< | |
_CheckArgs::template __enable_explicit<_U1, _U2>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit pair(pair<_U1, _U2>&&__p) | |
noexcept((is_nothrow_constructible<first_type, _U1&&>::value && is_nothrow_constructible<second_type, _U2&&>::value)) | |
: first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) {} | |
template<class _U1, class _U2, typename enable_if< | |
_CheckArgs::template __enable_implicit<_U1, _U2>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair(pair<_U1, _U2>&& __p) | |
noexcept((is_nothrow_constructible<first_type, _U1&&>::value && is_nothrow_constructible<second_type, _U2&&>::value)) | |
: first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) {} | |
# 281 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template<class _Tuple, typename enable_if< | |
_CheckTLC<_Tuple>::template __enable_explicit<_Tuple>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit pair(_Tuple&& __p) | |
: first(std::get<0>(std::forward<_Tuple>(__p))), | |
second(std::get<1>(std::forward<_Tuple>(__p))) {} | |
template<class _Tuple, typename enable_if< | |
_CheckTLC<_Tuple>::template __enable_implicit<_Tuple>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair(_Tuple&& __p) | |
: first(std::get<0>(std::forward<_Tuple>(__p))), | |
second(std::get<1>(std::forward<_Tuple>(__p))) {} | |
template <class... _Args1, class... _Args2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pair(piecewise_construct_t __pc, | |
tuple<_Args1...> __first_args, tuple<_Args2...> __second_args) | |
noexcept((is_nothrow_constructible<first_type, _Args1...>::value && is_nothrow_constructible<second_type, _Args2...>::value)) | |
: pair(__pc, __first_args, __second_args, | |
typename __make_tuple_indices<sizeof...(_Args1)>::type(), | |
typename __make_tuple_indices<sizeof...(_Args2) >::type()) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pair& operator=(__conditional_t< | |
is_copy_assignable<first_type>::value && | |
is_copy_assignable<second_type>::value, | |
pair, __nat> const& __p) | |
noexcept(is_nothrow_copy_assignable<first_type>::value && is_nothrow_copy_assignable<second_type>::value) | |
{ | |
first = __p.first; | |
second = __p.second; | |
return *this; | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pair& operator=(__conditional_t< | |
is_move_assignable<first_type>::value && | |
is_move_assignable<second_type>::value, | |
pair, __nat>&& __p) | |
noexcept(is_nothrow_move_assignable<first_type>::value && is_nothrow_move_assignable<second_type>::value) | |
{ | |
first = std::forward<first_type>(__p.first); | |
second = std::forward<second_type>(__p.second); | |
return *this; | |
} | |
# 377 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template <class _Tuple, typename enable_if< | |
_CheckTLC<_Tuple>::template __enable_assign<_Tuple>() | |
>::type* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pair& operator=(_Tuple&& __p) { | |
first = std::get<0>(std::forward<_Tuple>(__p)); | |
second = std::get<1>(std::forward<_Tuple>(__p)); | |
return *this; | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void | |
swap(pair& __p) noexcept(__is_nothrow_swappable<first_type>::value && __is_nothrow_swappable<second_type>::value) | |
{ | |
using std::swap; | |
swap(first, __p.first); | |
swap(second, __p.second); | |
} | |
# 409 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
private: | |
template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pair(piecewise_construct_t, | |
tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args, | |
__tuple_indices<_I1...>, __tuple_indices<_I2...>); | |
}; | |
template<class _T1, class _T2> | |
pair(_T1, _T2) -> pair<_T1, _T2>; | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return __x.first == __y.first && __x.second == __y.second; | |
} | |
# 452 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator!=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return !(__x == __y); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator< (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator> (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return __y < __x; | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator>=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return !(__x < __y); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator<=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) | |
{ | |
return !(__y < __x); | |
} | |
# 510 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename enable_if | |
< | |
__is_swappable<_T1>::value && | |
__is_swappable<_T2>::value, | |
void | |
>::type | |
swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) | |
noexcept((__is_nothrow_swappable<_T1>::value && __is_nothrow_swappable<_T2>::value)) | |
{ | |
__x.swap(__y); | |
} | |
# 537 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/pair.h" 3 | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type> | |
make_pair(_T1&& __t1, _T2&& __t2) | |
{ | |
return pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type> | |
(std::forward<_T1>(__t1), std::forward<_T2>(__t2)); | |
} | |
template <class _T1, class _T2> | |
struct __attribute__((__type_visibility__("default"))) tuple_size<pair<_T1, _T2> > | |
: public integral_constant<size_t, 2> {}; | |
template <size_t _Ip, class _T1, class _T2> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<_Ip, pair<_T1, _T2> > | |
{ | |
static_assert(_Ip < 2, "Index out of bounds in std::tuple_element<std::pair<T1, T2>>"); | |
}; | |
template <class _T1, class _T2> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<0, pair<_T1, _T2> > | |
{ | |
using type __attribute__((__nodebug__)) = _T1; | |
}; | |
template <class _T1, class _T2> | |
struct __attribute__((__type_visibility__("default"))) tuple_element<1, pair<_T1, _T2> > | |
{ | |
using type __attribute__((__nodebug__)) = _T2; | |
}; | |
template <size_t _Ip> struct __get_pair; | |
template <> | |
struct __get_pair<0> | |
{ | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_T1& | |
get(pair<_T1, _T2>& __p) noexcept {return __p.first;} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _T1& | |
get(const pair<_T1, _T2>& __p) noexcept {return __p.first;} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_T1&& | |
get(pair<_T1, _T2>&& __p) noexcept {return std::forward<_T1>(__p.first);} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _T1&& | |
get(const pair<_T1, _T2>&& __p) noexcept {return std::forward<const _T1>(__p.first);} | |
}; | |
template <> | |
struct __get_pair<1> | |
{ | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_T2& | |
get(pair<_T1, _T2>& __p) noexcept {return __p.second;} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _T2& | |
get(const pair<_T1, _T2>& __p) noexcept {return __p.second;} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_T2&& | |
get(pair<_T1, _T2>&& __p) noexcept {return std::forward<_T2>(__p.second);} | |
template <class _T1, class _T2> | |
static | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _T2&& | |
get(const pair<_T1, _T2>&& __p) noexcept {return std::forward<const _T2>(__p.second);} | |
}; | |
template <size_t _Ip, class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
get(pair<_T1, _T2>& __p) noexcept | |
{ | |
return __get_pair<_Ip>::get(__p); | |
} | |
template <size_t _Ip, class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, pair<_T1, _T2> >::type& | |
get(const pair<_T1, _T2>& __p) noexcept | |
{ | |
return __get_pair<_Ip>::get(__p); | |
} | |
template <size_t _Ip, class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
get(pair<_T1, _T2>&& __p) noexcept | |
{ | |
return __get_pair<_Ip>::get(std::move(__p)); | |
} | |
template <size_t _Ip, class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& | |
get(const pair<_T1, _T2>&& __p) noexcept | |
{ | |
return __get_pair<_Ip>::get(std::move(__p)); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 & get(pair<_T1, _T2>& __p) noexcept | |
{ | |
return __get_pair<0>::get(__p); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 const & get(pair<_T1, _T2> const& __p) noexcept | |
{ | |
return __get_pair<0>::get(__p); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 && get(pair<_T1, _T2>&& __p) noexcept | |
{ | |
return __get_pair<0>::get(std::move(__p)); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 const && get(pair<_T1, _T2> const&& __p) noexcept | |
{ | |
return __get_pair<0>::get(std::move(__p)); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 & get(pair<_T2, _T1>& __p) noexcept | |
{ | |
return __get_pair<1>::get(__p); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 const & get(pair<_T2, _T1> const& __p) noexcept | |
{ | |
return __get_pair<1>::get(__p); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 && get(pair<_T2, _T1>&& __p) noexcept | |
{ | |
return __get_pair<1>::get(std::move(__p)); | |
} | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _T1 const && get(pair<_T2, _T1> const&& __p) noexcept | |
{ | |
return __get_pair<1>::get(std::move(__p)); | |
} | |
}} | |
# 254 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/priority_tag.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/priority_tag.h" 3 | |
namespace std { inline namespace __1 { | |
template<size_t _Ip> struct __priority_tag : __priority_tag<_Ip - 1> {}; | |
template<> struct __priority_tag<0> {}; | |
}} | |
# 256 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/rel_ops.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/rel_ops.h" 3 | |
namespace std { inline namespace __1 { | |
namespace rel_ops | |
{ | |
template<class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool | |
operator!=(const _Tp& __x, const _Tp& __y) | |
{ | |
return !(__x == __y); | |
} | |
template<class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool | |
operator> (const _Tp& __x, const _Tp& __y) | |
{ | |
return __y < __x; | |
} | |
template<class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool | |
operator<=(const _Tp& __x, const _Tp& __y) | |
{ | |
return !(__y < __x); | |
} | |
template<class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool | |
operator>=(const _Tp& __x, const _Tp& __y) | |
{ | |
return !(__x < __y); | |
} | |
} | |
}} | |
# 257 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/to_underlying.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/to_underlying.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr typename underlying_type<_Tp>::type | |
__to_underlying(_Tp __val) noexcept { | |
return static_cast<typename underlying_type<_Tp>::type>(__val); | |
} | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/to_underlying.h" 3 | |
}} | |
# 259 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/unreachable.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/unreachable.h" 3 | |
namespace std { inline namespace __1 { | |
[[noreturn]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) inline void __libcpp_unreachable() { | |
(__builtin_expect(static_cast<bool>(false), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "false", "std::unreachable() was reached")); | |
__builtin_unreachable(); | |
} | |
}} | |
# 260 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 1 3 | |
# 145 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_partial_order_fallback.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way.h" 3 | |
namespace std { inline namespace __1 { | |
# 39 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/weak_order.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/weak_order.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__bit/bit_cast.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__bit/bit_cast.h" 3 | |
namespace std { inline namespace __1 { | |
# 34 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__bit/bit_cast.h" 3 | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 1 3 | |
# 314 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/promote.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/promote.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __numeric_type | |
{ | |
static void __test(...); | |
static float __test(float); | |
static double __test(char); | |
static double __test(int); | |
static double __test(unsigned); | |
static double __test(long); | |
static double __test(unsigned long); | |
static double __test(long long); | |
static double __test(unsigned long long); | |
static double __test(__int128_t); | |
static double __test(__uint128_t); | |
static double __test(double); | |
static long double __test(long double); | |
typedef decltype(__test(std::declval<_Tp>())) type; | |
static const bool value = _IsNotSame<type, void>::value; | |
}; | |
template <> | |
struct __numeric_type<void> | |
{ | |
static const bool value = true; | |
}; | |
template <class _A1, class _A2 = void, class _A3 = void, | |
bool = __numeric_type<_A1>::value && | |
__numeric_type<_A2>::value && | |
__numeric_type<_A3>::value> | |
class __promote_imp | |
{ | |
public: | |
static const bool value = false; | |
}; | |
template <class _A1, class _A2, class _A3> | |
class __promote_imp<_A1, _A2, _A3, true> | |
{ | |
private: | |
typedef typename __promote_imp<_A1>::type __type1; | |
typedef typename __promote_imp<_A2>::type __type2; | |
typedef typename __promote_imp<_A3>::type __type3; | |
public: | |
typedef decltype(__type1() + __type2() + __type3()) type; | |
static const bool value = true; | |
}; | |
template <class _A1, class _A2> | |
class __promote_imp<_A1, _A2, void, true> | |
{ | |
private: | |
typedef typename __promote_imp<_A1>::type __type1; | |
typedef typename __promote_imp<_A2>::type __type2; | |
public: | |
typedef decltype(__type1() + __type2()) type; | |
static const bool value = true; | |
}; | |
template <class _A1> | |
class __promote_imp<_A1, void, void, true> | |
{ | |
public: | |
typedef typename __numeric_type<_A1>::type type; | |
static const bool value = true; | |
}; | |
template <class _A1, class _A2 = void, class _A3 = void> | |
class __promote : public __promote_imp<_A1, _A2, _A3> {}; | |
}} | |
# 315 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 1 3 | |
# 298 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
extern "C" { | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/math-vector.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/math-vector.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libm-simd-decl-stubs.h" 1 3 | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/math-vector.h" 2 3 | |
# 41 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 1 3 | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/long-double.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 2 3 | |
# 80 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 3 | |
typedef long double _Float128; | |
# 95 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/long-double.h" 1 3 | |
# 25 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 2 3 | |
# 214 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 3 | |
typedef float _Float32; | |
# 251 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 3 | |
typedef double _Float64; | |
# 268 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 3 | |
typedef double _Float32x; | |
# 285 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn-common.h" 3 | |
typedef long double _Float64x; | |
# 96 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/floatn.h" 2 3 | |
# 44 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 152 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/flt-eval-method.h" 1 3 | |
# 153 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 163 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
typedef float float_t; | |
typedef double double_t; | |
# 204 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/fp-logb.h" 1 3 | |
# 205 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 247 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/fp-fast.h" 1 3 | |
# 248 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
enum | |
{ | |
FP_INT_UPWARD = | |
0, | |
FP_INT_DOWNWARD = | |
1, | |
FP_INT_TOWARDZERO = | |
2, | |
FP_INT_TONEARESTFROMZERO = | |
3, | |
FP_INT_TONEAREST = | |
4, | |
}; | |
# 312 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 1 3 | |
# 20 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 3 | |
extern int __fpclassify (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __signbit (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isinf (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __finite (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isnan (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __iseqsig (double __x, double __y) noexcept (true); | |
extern int __issignaling (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
# 313 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern double acos (double __x) noexcept (true); extern double __acos (double __x) noexcept (true); | |
extern double asin (double __x) noexcept (true); extern double __asin (double __x) noexcept (true); | |
extern double atan (double __x) noexcept (true); extern double __atan (double __x) noexcept (true); | |
extern double atan2 (double __y, double __x) noexcept (true); extern double __atan2 (double __y, double __x) noexcept (true); | |
extern double cos (double __x) noexcept (true); extern double __cos (double __x) noexcept (true); | |
extern double sin (double __x) noexcept (true); extern double __sin (double __x) noexcept (true); | |
extern double tan (double __x) noexcept (true); extern double __tan (double __x) noexcept (true); | |
extern double cosh (double __x) noexcept (true); extern double __cosh (double __x) noexcept (true); | |
extern double sinh (double __x) noexcept (true); extern double __sinh (double __x) noexcept (true); | |
extern double tanh (double __x) noexcept (true); extern double __tanh (double __x) noexcept (true); | |
extern void sincos (double __x, double *__sinx, double *__cosx) noexcept (true); extern void __sincos (double __x, double *__sinx, double *__cosx) noexcept (true); | |
extern double acosh (double __x) noexcept (true); extern double __acosh (double __x) noexcept (true); | |
extern double asinh (double __x) noexcept (true); extern double __asinh (double __x) noexcept (true); | |
extern double atanh (double __x) noexcept (true); extern double __atanh (double __x) noexcept (true); | |
extern double exp (double __x) noexcept (true); extern double __exp (double __x) noexcept (true); | |
extern double frexp (double __x, int *__exponent) noexcept (true); extern double __frexp (double __x, int *__exponent) noexcept (true); | |
extern double ldexp (double __x, int __exponent) noexcept (true); extern double __ldexp (double __x, int __exponent) noexcept (true); | |
extern double log (double __x) noexcept (true); extern double __log (double __x) noexcept (true); | |
extern double log10 (double __x) noexcept (true); extern double __log10 (double __x) noexcept (true); | |
extern double modf (double __x, double *__iptr) noexcept (true); extern double __modf (double __x, double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern double exp10 (double __x) noexcept (true); extern double __exp10 (double __x) noexcept (true); | |
extern double expm1 (double __x) noexcept (true); extern double __expm1 (double __x) noexcept (true); | |
extern double log1p (double __x) noexcept (true); extern double __log1p (double __x) noexcept (true); | |
extern double logb (double __x) noexcept (true); extern double __logb (double __x) noexcept (true); | |
extern double exp2 (double __x) noexcept (true); extern double __exp2 (double __x) noexcept (true); | |
extern double log2 (double __x) noexcept (true); extern double __log2 (double __x) noexcept (true); | |
extern double pow (double __x, double __y) noexcept (true); extern double __pow (double __x, double __y) noexcept (true); | |
extern double sqrt (double __x) noexcept (true); extern double __sqrt (double __x) noexcept (true); | |
extern double hypot (double __x, double __y) noexcept (true); extern double __hypot (double __x, double __y) noexcept (true); | |
extern double cbrt (double __x) noexcept (true); extern double __cbrt (double __x) noexcept (true); | |
extern double ceil (double __x) noexcept (true) __attribute__ ((__const__)); extern double __ceil (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern double fabs (double __x) noexcept (true) __attribute__ ((__const__)); extern double __fabs (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern double floor (double __x) noexcept (true) __attribute__ ((__const__)); extern double __floor (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern double fmod (double __x, double __y) noexcept (true); extern double __fmod (double __x, double __y) noexcept (true); | |
# 183 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern int finite (double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern double drem (double __x, double __y) noexcept (true); extern double __drem (double __x, double __y) noexcept (true); | |
extern double significand (double __x) noexcept (true); extern double __significand (double __x) noexcept (true); | |
extern double copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double nan (const char *__tagb) noexcept (true); extern double __nan (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern double j0 (double) noexcept (true); extern double __j0 (double) noexcept (true); | |
extern double j1 (double) noexcept (true); extern double __j1 (double) noexcept (true); | |
extern double jn (int, double) noexcept (true); extern double __jn (int, double) noexcept (true); | |
extern double y0 (double) noexcept (true); extern double __y0 (double) noexcept (true); | |
extern double y1 (double) noexcept (true); extern double __y1 (double) noexcept (true); | |
extern double yn (int, double) noexcept (true); extern double __yn (int, double) noexcept (true); | |
extern double erf (double) noexcept (true); extern double __erf (double) noexcept (true); | |
extern double erfc (double) noexcept (true); extern double __erfc (double) noexcept (true); | |
extern double lgamma (double) noexcept (true); extern double __lgamma (double) noexcept (true); | |
extern double tgamma (double) noexcept (true); extern double __tgamma (double) noexcept (true); | |
extern double gamma (double) noexcept (true); extern double __gamma (double) noexcept (true); | |
extern double lgamma_r (double, int *__signgamp) noexcept (true); extern double __lgamma_r (double, int *__signgamp) noexcept (true); | |
extern double rint (double __x) noexcept (true); extern double __rint (double __x) noexcept (true); | |
extern double nextafter (double __x, double __y) noexcept (true); extern double __nextafter (double __x, double __y) noexcept (true); | |
extern double nexttoward (double __x, long double __y) noexcept (true); extern double __nexttoward (double __x, long double __y) noexcept (true); | |
extern double nextdown (double __x) noexcept (true); extern double __nextdown (double __x) noexcept (true); | |
extern double nextup (double __x) noexcept (true); extern double __nextup (double __x) noexcept (true); | |
extern double remainder (double __x, double __y) noexcept (true); extern double __remainder (double __x, double __y) noexcept (true); | |
extern double scalbn (double __x, int __n) noexcept (true); extern double __scalbn (double __x, int __n) noexcept (true); | |
extern int ilogb (double __x) noexcept (true); extern int __ilogb (double __x) noexcept (true); | |
extern long int llogb (double __x) noexcept (true); extern long int __llogb (double __x) noexcept (true); | |
extern double scalbln (double __x, long int __n) noexcept (true); extern double __scalbln (double __x, long int __n) noexcept (true); | |
extern double nearbyint (double __x) noexcept (true); extern double __nearbyint (double __x) noexcept (true); | |
extern double round (double __x) noexcept (true) __attribute__ ((__const__)); extern double __round (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern double trunc (double __x) noexcept (true) __attribute__ ((__const__)); extern double __trunc (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern double remquo (double __x, double __y, int *__quo) noexcept (true); extern double __remquo (double __x, double __y, int *__quo) noexcept (true); | |
extern long int lrint (double __x) noexcept (true); extern long int __lrint (double __x) noexcept (true); | |
__extension__ | |
extern long long int llrint (double __x) noexcept (true); extern long long int __llrint (double __x) noexcept (true); | |
extern long int lround (double __x) noexcept (true); extern long int __lround (double __x) noexcept (true); | |
__extension__ | |
extern long long int llround (double __x) noexcept (true); extern long long int __llround (double __x) noexcept (true); | |
extern double fdim (double __x, double __y) noexcept (true); extern double __fdim (double __x, double __y) noexcept (true); | |
extern double fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fma (double __x, double __y, double __z) noexcept (true); extern double __fma (double __x, double __y, double __z) noexcept (true); | |
extern double roundeven (double __x) noexcept (true) __attribute__ ((__const__)); extern double __roundeven (double __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalize (double *__cx, const double *__x) noexcept (true); | |
extern double fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern double fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorder (const double *__x, const double *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermag (const double *__x, const double *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern double getpayload (const double *__x) noexcept (true); extern double __getpayload (const double *__x) noexcept (true); | |
extern int setpayload (double *__x, double __payload) noexcept (true); | |
extern int setpayloadsig (double *__x, double __payload) noexcept (true); | |
extern double scalb (double __x, double __n) noexcept (true); extern double __scalb (double __x, double __n) noexcept (true); | |
# 314 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 329 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 1 3 | |
# 20 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 3 | |
extern int __fpclassifyf (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __signbitf (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isinff (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __finitef (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isnanf (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __iseqsigf (float __x, float __y) noexcept (true); | |
extern int __issignalingf (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
# 330 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern float acosf (float __x) noexcept (true); extern float __acosf (float __x) noexcept (true); | |
extern float asinf (float __x) noexcept (true); extern float __asinf (float __x) noexcept (true); | |
extern float atanf (float __x) noexcept (true); extern float __atanf (float __x) noexcept (true); | |
extern float atan2f (float __y, float __x) noexcept (true); extern float __atan2f (float __y, float __x) noexcept (true); | |
extern float cosf (float __x) noexcept (true); extern float __cosf (float __x) noexcept (true); | |
extern float sinf (float __x) noexcept (true); extern float __sinf (float __x) noexcept (true); | |
extern float tanf (float __x) noexcept (true); extern float __tanf (float __x) noexcept (true); | |
extern float coshf (float __x) noexcept (true); extern float __coshf (float __x) noexcept (true); | |
extern float sinhf (float __x) noexcept (true); extern float __sinhf (float __x) noexcept (true); | |
extern float tanhf (float __x) noexcept (true); extern float __tanhf (float __x) noexcept (true); | |
extern void sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); extern void __sincosf (float __x, float *__sinx, float *__cosx) noexcept (true); | |
extern float acoshf (float __x) noexcept (true); extern float __acoshf (float __x) noexcept (true); | |
extern float asinhf (float __x) noexcept (true); extern float __asinhf (float __x) noexcept (true); | |
extern float atanhf (float __x) noexcept (true); extern float __atanhf (float __x) noexcept (true); | |
extern float expf (float __x) noexcept (true); extern float __expf (float __x) noexcept (true); | |
extern float frexpf (float __x, int *__exponent) noexcept (true); extern float __frexpf (float __x, int *__exponent) noexcept (true); | |
extern float ldexpf (float __x, int __exponent) noexcept (true); extern float __ldexpf (float __x, int __exponent) noexcept (true); | |
extern float logf (float __x) noexcept (true); extern float __logf (float __x) noexcept (true); | |
extern float log10f (float __x) noexcept (true); extern float __log10f (float __x) noexcept (true); | |
extern float modff (float __x, float *__iptr) noexcept (true); extern float __modff (float __x, float *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern float exp10f (float __x) noexcept (true); extern float __exp10f (float __x) noexcept (true); | |
extern float expm1f (float __x) noexcept (true); extern float __expm1f (float __x) noexcept (true); | |
extern float log1pf (float __x) noexcept (true); extern float __log1pf (float __x) noexcept (true); | |
extern float logbf (float __x) noexcept (true); extern float __logbf (float __x) noexcept (true); | |
extern float exp2f (float __x) noexcept (true); extern float __exp2f (float __x) noexcept (true); | |
extern float log2f (float __x) noexcept (true); extern float __log2f (float __x) noexcept (true); | |
extern float powf (float __x, float __y) noexcept (true); extern float __powf (float __x, float __y) noexcept (true); | |
extern float sqrtf (float __x) noexcept (true); extern float __sqrtf (float __x) noexcept (true); | |
extern float hypotf (float __x, float __y) noexcept (true); extern float __hypotf (float __x, float __y) noexcept (true); | |
extern float cbrtf (float __x) noexcept (true); extern float __cbrtf (float __x) noexcept (true); | |
extern float ceilf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __ceilf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern float fabsf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __fabsf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern float floorf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __floorf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern float fmodf (float __x, float __y) noexcept (true); extern float __fmodf (float __x, float __y) noexcept (true); | |
# 177 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern int isinff (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int finitef (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern float dremf (float __x, float __y) noexcept (true); extern float __dremf (float __x, float __y) noexcept (true); | |
extern float significandf (float __x) noexcept (true); extern float __significandf (float __x) noexcept (true); | |
extern float copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float nanf (const char *__tagb) noexcept (true); extern float __nanf (const char *__tagb) noexcept (true); | |
# 213 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern int isnanf (float __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern float j0f (float) noexcept (true); extern float __j0f (float) noexcept (true); | |
extern float j1f (float) noexcept (true); extern float __j1f (float) noexcept (true); | |
extern float jnf (int, float) noexcept (true); extern float __jnf (int, float) noexcept (true); | |
extern float y0f (float) noexcept (true); extern float __y0f (float) noexcept (true); | |
extern float y1f (float) noexcept (true); extern float __y1f (float) noexcept (true); | |
extern float ynf (int, float) noexcept (true); extern float __ynf (int, float) noexcept (true); | |
extern float erff (float) noexcept (true); extern float __erff (float) noexcept (true); | |
extern float erfcf (float) noexcept (true); extern float __erfcf (float) noexcept (true); | |
extern float lgammaf (float) noexcept (true); extern float __lgammaf (float) noexcept (true); | |
extern float tgammaf (float) noexcept (true); extern float __tgammaf (float) noexcept (true); | |
extern float gammaf (float) noexcept (true); extern float __gammaf (float) noexcept (true); | |
extern float lgammaf_r (float, int *__signgamp) noexcept (true); extern float __lgammaf_r (float, int *__signgamp) noexcept (true); | |
extern float rintf (float __x) noexcept (true); extern float __rintf (float __x) noexcept (true); | |
extern float nextafterf (float __x, float __y) noexcept (true); extern float __nextafterf (float __x, float __y) noexcept (true); | |
extern float nexttowardf (float __x, long double __y) noexcept (true); extern float __nexttowardf (float __x, long double __y) noexcept (true); | |
extern float nextdownf (float __x) noexcept (true); extern float __nextdownf (float __x) noexcept (true); | |
extern float nextupf (float __x) noexcept (true); extern float __nextupf (float __x) noexcept (true); | |
extern float remainderf (float __x, float __y) noexcept (true); extern float __remainderf (float __x, float __y) noexcept (true); | |
extern float scalbnf (float __x, int __n) noexcept (true); extern float __scalbnf (float __x, int __n) noexcept (true); | |
extern int ilogbf (float __x) noexcept (true); extern int __ilogbf (float __x) noexcept (true); | |
extern long int llogbf (float __x) noexcept (true); extern long int __llogbf (float __x) noexcept (true); | |
extern float scalblnf (float __x, long int __n) noexcept (true); extern float __scalblnf (float __x, long int __n) noexcept (true); | |
extern float nearbyintf (float __x) noexcept (true); extern float __nearbyintf (float __x) noexcept (true); | |
extern float roundf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern float truncf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __truncf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern float remquof (float __x, float __y, int *__quo) noexcept (true); extern float __remquof (float __x, float __y, int *__quo) noexcept (true); | |
extern long int lrintf (float __x) noexcept (true); extern long int __lrintf (float __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf (float __x) noexcept (true); extern long long int __llrintf (float __x) noexcept (true); | |
extern long int lroundf (float __x) noexcept (true); extern long int __lroundf (float __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf (float __x) noexcept (true); extern long long int __llroundf (float __x) noexcept (true); | |
extern float fdimf (float __x, float __y) noexcept (true); extern float __fdimf (float __x, float __y) noexcept (true); | |
extern float fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fmaf (float __x, float __y, float __z) noexcept (true); extern float __fmaf (float __x, float __y, float __z) noexcept (true); | |
extern float roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); extern float __roundevenf (float __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef (float *__cx, const float *__x) noexcept (true); | |
extern float fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern float fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf (const float *__x, const float *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf (const float *__x, const float *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern float getpayloadf (const float *__x) noexcept (true); extern float __getpayloadf (const float *__x) noexcept (true); | |
extern int setpayloadf (float *__x, float __payload) noexcept (true); | |
extern int setpayloadsigf (float *__x, float __payload) noexcept (true); | |
extern float scalbf (float __x, float __n) noexcept (true); extern float __scalbf (float __x, float __n) noexcept (true); | |
# 331 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 398 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 1 3 | |
# 20 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-helper-functions.h" 3 | |
extern int __fpclassifyl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __signbitl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isinfl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __finitel (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __isnanl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int __iseqsigl (long double __x, long double __y) noexcept (true); | |
extern int __issignalingl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
# 399 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern long double acosl (long double __x) noexcept (true); extern long double __acosl (long double __x) noexcept (true); | |
extern long double asinl (long double __x) noexcept (true); extern long double __asinl (long double __x) noexcept (true); | |
extern long double atanl (long double __x) noexcept (true); extern long double __atanl (long double __x) noexcept (true); | |
extern long double atan2l (long double __y, long double __x) noexcept (true); extern long double __atan2l (long double __y, long double __x) noexcept (true); | |
extern long double cosl (long double __x) noexcept (true); extern long double __cosl (long double __x) noexcept (true); | |
extern long double sinl (long double __x) noexcept (true); extern long double __sinl (long double __x) noexcept (true); | |
extern long double tanl (long double __x) noexcept (true); extern long double __tanl (long double __x) noexcept (true); | |
extern long double coshl (long double __x) noexcept (true); extern long double __coshl (long double __x) noexcept (true); | |
extern long double sinhl (long double __x) noexcept (true); extern long double __sinhl (long double __x) noexcept (true); | |
extern long double tanhl (long double __x) noexcept (true); extern long double __tanhl (long double __x) noexcept (true); | |
extern void sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) noexcept (true); | |
extern long double acoshl (long double __x) noexcept (true); extern long double __acoshl (long double __x) noexcept (true); | |
extern long double asinhl (long double __x) noexcept (true); extern long double __asinhl (long double __x) noexcept (true); | |
extern long double atanhl (long double __x) noexcept (true); extern long double __atanhl (long double __x) noexcept (true); | |
extern long double expl (long double __x) noexcept (true); extern long double __expl (long double __x) noexcept (true); | |
extern long double frexpl (long double __x, int *__exponent) noexcept (true); extern long double __frexpl (long double __x, int *__exponent) noexcept (true); | |
extern long double ldexpl (long double __x, int __exponent) noexcept (true); extern long double __ldexpl (long double __x, int __exponent) noexcept (true); | |
extern long double logl (long double __x) noexcept (true); extern long double __logl (long double __x) noexcept (true); | |
extern long double log10l (long double __x) noexcept (true); extern long double __log10l (long double __x) noexcept (true); | |
extern long double modfl (long double __x, long double *__iptr) noexcept (true); extern long double __modfl (long double __x, long double *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern long double exp10l (long double __x) noexcept (true); extern long double __exp10l (long double __x) noexcept (true); | |
extern long double expm1l (long double __x) noexcept (true); extern long double __expm1l (long double __x) noexcept (true); | |
extern long double log1pl (long double __x) noexcept (true); extern long double __log1pl (long double __x) noexcept (true); | |
extern long double logbl (long double __x) noexcept (true); extern long double __logbl (long double __x) noexcept (true); | |
extern long double exp2l (long double __x) noexcept (true); extern long double __exp2l (long double __x) noexcept (true); | |
extern long double log2l (long double __x) noexcept (true); extern long double __log2l (long double __x) noexcept (true); | |
extern long double powl (long double __x, long double __y) noexcept (true); extern long double __powl (long double __x, long double __y) noexcept (true); | |
extern long double sqrtl (long double __x) noexcept (true); extern long double __sqrtl (long double __x) noexcept (true); | |
extern long double hypotl (long double __x, long double __y) noexcept (true); extern long double __hypotl (long double __x, long double __y) noexcept (true); | |
extern long double cbrtl (long double __x) noexcept (true); extern long double __cbrtl (long double __x) noexcept (true); | |
extern long double ceill (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __ceill (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern long double fabsl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __fabsl (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern long double floorl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __floorl (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmodl (long double __x, long double __y) noexcept (true); extern long double __fmodl (long double __x, long double __y) noexcept (true); | |
# 177 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern int isinfl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern int finitel (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern long double dreml (long double __x, long double __y) noexcept (true); extern long double __dreml (long double __x, long double __y) noexcept (true); | |
extern long double significandl (long double __x) noexcept (true); extern long double __significandl (long double __x) noexcept (true); | |
extern long double copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double nanl (const char *__tagb) noexcept (true); extern long double __nanl (const char *__tagb) noexcept (true); | |
# 213 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern int isnanl (long double __value) noexcept (true) | |
__attribute__ ((__const__)); | |
extern long double j0l (long double) noexcept (true); extern long double __j0l (long double) noexcept (true); | |
extern long double j1l (long double) noexcept (true); extern long double __j1l (long double) noexcept (true); | |
extern long double jnl (int, long double) noexcept (true); extern long double __jnl (int, long double) noexcept (true); | |
extern long double y0l (long double) noexcept (true); extern long double __y0l (long double) noexcept (true); | |
extern long double y1l (long double) noexcept (true); extern long double __y1l (long double) noexcept (true); | |
extern long double ynl (int, long double) noexcept (true); extern long double __ynl (int, long double) noexcept (true); | |
extern long double erfl (long double) noexcept (true); extern long double __erfl (long double) noexcept (true); | |
extern long double erfcl (long double) noexcept (true); extern long double __erfcl (long double) noexcept (true); | |
extern long double lgammal (long double) noexcept (true); extern long double __lgammal (long double) noexcept (true); | |
extern long double tgammal (long double) noexcept (true); extern long double __tgammal (long double) noexcept (true); | |
extern long double gammal (long double) noexcept (true); extern long double __gammal (long double) noexcept (true); | |
extern long double lgammal_r (long double, int *__signgamp) noexcept (true); extern long double __lgammal_r (long double, int *__signgamp) noexcept (true); | |
extern long double rintl (long double __x) noexcept (true); extern long double __rintl (long double __x) noexcept (true); | |
extern long double nextafterl (long double __x, long double __y) noexcept (true); extern long double __nextafterl (long double __x, long double __y) noexcept (true); | |
extern long double nexttowardl (long double __x, long double __y) noexcept (true); extern long double __nexttowardl (long double __x, long double __y) noexcept (true); | |
extern long double nextdownl (long double __x) noexcept (true); extern long double __nextdownl (long double __x) noexcept (true); | |
extern long double nextupl (long double __x) noexcept (true); extern long double __nextupl (long double __x) noexcept (true); | |
extern long double remainderl (long double __x, long double __y) noexcept (true); extern long double __remainderl (long double __x, long double __y) noexcept (true); | |
extern long double scalbnl (long double __x, int __n) noexcept (true); extern long double __scalbnl (long double __x, int __n) noexcept (true); | |
extern int ilogbl (long double __x) noexcept (true); extern int __ilogbl (long double __x) noexcept (true); | |
extern long int llogbl (long double __x) noexcept (true); extern long int __llogbl (long double __x) noexcept (true); | |
extern long double scalblnl (long double __x, long int __n) noexcept (true); extern long double __scalblnl (long double __x, long int __n) noexcept (true); | |
extern long double nearbyintl (long double __x) noexcept (true); extern long double __nearbyintl (long double __x) noexcept (true); | |
extern long double roundl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundl (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern long double truncl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __truncl (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern long double remquol (long double __x, long double __y, int *__quo) noexcept (true); extern long double __remquol (long double __x, long double __y, int *__quo) noexcept (true); | |
extern long int lrintl (long double __x) noexcept (true); extern long int __lrintl (long double __x) noexcept (true); | |
__extension__ | |
extern long long int llrintl (long double __x) noexcept (true); extern long long int __llrintl (long double __x) noexcept (true); | |
extern long int lroundl (long double __x) noexcept (true); extern long int __lroundl (long double __x) noexcept (true); | |
__extension__ | |
extern long long int llroundl (long double __x) noexcept (true); extern long long int __llroundl (long double __x) noexcept (true); | |
extern long double fdiml (long double __x, long double __y) noexcept (true); extern long double __fdiml (long double __x, long double __y) noexcept (true); | |
extern long double fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmal (long double __x, long double __y, long double __z) noexcept (true); extern long double __fmal (long double __x, long double __y, long double __z) noexcept (true); | |
extern long double roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizel (long double *__cx, const long double *__x) noexcept (true); | |
extern long double fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern long double fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderl (const long double *__x, const long double *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagl (const long double *__x, const long double *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern long double getpayloadl (const long double *__x) noexcept (true); extern long double __getpayloadl (const long double *__x) noexcept (true); | |
extern int setpayloadl (long double *__x, long double __payload) noexcept (true); | |
extern int setpayloadsigl (long double *__x, long double __payload) noexcept (true); | |
extern long double scalbl (long double __x, long double __n) noexcept (true); extern long double __scalbl (long double __x, long double __n) noexcept (true); | |
# 400 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 450 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __x) noexcept (true); | |
extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __x) noexcept (true); | |
extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __x) noexcept (true); | |
extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); | |
extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) noexcept (true); | |
extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) noexcept (true); | |
extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) noexcept (true); | |
extern _Float32 coshf32 (_Float32 __x) noexcept (true); extern _Float32 __coshf32 (_Float32 __x) noexcept (true); | |
extern _Float32 sinhf32 (_Float32 __x) noexcept (true); extern _Float32 __sinhf32 (_Float32 __x) noexcept (true); | |
extern _Float32 tanhf32 (_Float32 __x) noexcept (true); extern _Float32 __tanhf32 (_Float32 __x) noexcept (true); | |
extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) noexcept (true); | |
extern _Float32 acoshf32 (_Float32 __x) noexcept (true); extern _Float32 __acoshf32 (_Float32 __x) noexcept (true); | |
extern _Float32 asinhf32 (_Float32 __x) noexcept (true); extern _Float32 __asinhf32 (_Float32 __x) noexcept (true); | |
extern _Float32 atanhf32 (_Float32 __x) noexcept (true); extern _Float32 __atanhf32 (_Float32 __x) noexcept (true); | |
extern _Float32 expf32 (_Float32 __x) noexcept (true); extern _Float32 __expf32 (_Float32 __x) noexcept (true); | |
extern _Float32 frexpf32 (_Float32 __x, int *__exponent) noexcept (true); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) noexcept (true); | |
extern _Float32 ldexpf32 (_Float32 __x, int __exponent) noexcept (true); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) noexcept (true); | |
extern _Float32 logf32 (_Float32 __x) noexcept (true); extern _Float32 __logf32 (_Float32 __x) noexcept (true); | |
extern _Float32 log10f32 (_Float32 __x) noexcept (true); extern _Float32 __log10f32 (_Float32 __x) noexcept (true); | |
extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern _Float32 exp10f32 (_Float32 __x) noexcept (true); extern _Float32 __exp10f32 (_Float32 __x) noexcept (true); | |
extern _Float32 expm1f32 (_Float32 __x) noexcept (true); extern _Float32 __expm1f32 (_Float32 __x) noexcept (true); | |
extern _Float32 log1pf32 (_Float32 __x) noexcept (true); extern _Float32 __log1pf32 (_Float32 __x) noexcept (true); | |
extern _Float32 logbf32 (_Float32 __x) noexcept (true); extern _Float32 __logbf32 (_Float32 __x) noexcept (true); | |
extern _Float32 exp2f32 (_Float32 __x) noexcept (true); extern _Float32 __exp2f32 (_Float32 __x) noexcept (true); | |
extern _Float32 log2f32 (_Float32 __x) noexcept (true); extern _Float32 __log2f32 (_Float32 __x) noexcept (true); | |
extern _Float32 powf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
extern _Float32 sqrtf32 (_Float32 __x) noexcept (true); extern _Float32 __sqrtf32 (_Float32 __x) noexcept (true); | |
extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
extern _Float32 cbrtf32 (_Float32 __x) noexcept (true); extern _Float32 __cbrtf32 (_Float32 __x) noexcept (true); | |
extern _Float32 ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
# 198 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 nanf32 (const char *__tagb) noexcept (true); extern _Float32 __nanf32 (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32 j0f32 (_Float32) noexcept (true); extern _Float32 __j0f32 (_Float32) noexcept (true); | |
extern _Float32 j1f32 (_Float32) noexcept (true); extern _Float32 __j1f32 (_Float32) noexcept (true); | |
extern _Float32 jnf32 (int, _Float32) noexcept (true); extern _Float32 __jnf32 (int, _Float32) noexcept (true); | |
extern _Float32 y0f32 (_Float32) noexcept (true); extern _Float32 __y0f32 (_Float32) noexcept (true); | |
extern _Float32 y1f32 (_Float32) noexcept (true); extern _Float32 __y1f32 (_Float32) noexcept (true); | |
extern _Float32 ynf32 (int, _Float32) noexcept (true); extern _Float32 __ynf32 (int, _Float32) noexcept (true); | |
extern _Float32 erff32 (_Float32) noexcept (true); extern _Float32 __erff32 (_Float32) noexcept (true); | |
extern _Float32 erfcf32 (_Float32) noexcept (true); extern _Float32 __erfcf32 (_Float32) noexcept (true); | |
extern _Float32 lgammaf32 (_Float32) noexcept (true); extern _Float32 __lgammaf32 (_Float32) noexcept (true); | |
extern _Float32 tgammaf32 (_Float32) noexcept (true); extern _Float32 __tgammaf32 (_Float32) noexcept (true); | |
# 252 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32 lgammaf32_r (_Float32, int *__signgamp) noexcept (true); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) noexcept (true); | |
extern _Float32 rintf32 (_Float32 __x) noexcept (true); extern _Float32 __rintf32 (_Float32 __x) noexcept (true); | |
extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
extern _Float32 nextdownf32 (_Float32 __x) noexcept (true); extern _Float32 __nextdownf32 (_Float32 __x) noexcept (true); | |
extern _Float32 nextupf32 (_Float32 __x) noexcept (true); extern _Float32 __nextupf32 (_Float32 __x) noexcept (true); | |
extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
extern _Float32 scalbnf32 (_Float32 __x, int __n) noexcept (true); extern _Float32 __scalbnf32 (_Float32 __x, int __n) noexcept (true); | |
extern int ilogbf32 (_Float32 __x) noexcept (true); extern int __ilogbf32 (_Float32 __x) noexcept (true); | |
extern long int llogbf32 (_Float32 __x) noexcept (true); extern long int __llogbf32 (_Float32 __x) noexcept (true); | |
extern _Float32 scalblnf32 (_Float32 __x, long int __n) noexcept (true); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) noexcept (true); | |
extern _Float32 nearbyintf32 (_Float32 __x) noexcept (true); extern _Float32 __nearbyintf32 (_Float32 __x) noexcept (true); | |
extern _Float32 roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) noexcept (true); | |
extern long int lrintf32 (_Float32 __x) noexcept (true); extern long int __lrintf32 (_Float32 __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf32 (_Float32 __x) noexcept (true); extern long long int __llrintf32 (_Float32 __x) noexcept (true); | |
extern long int lroundf32 (_Float32 __x) noexcept (true); extern long int __lroundf32 (_Float32 __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf32 (_Float32 __x) noexcept (true); extern long long int __llroundf32 (_Float32 __x) noexcept (true); | |
extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) noexcept (true); | |
extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) noexcept (true); | |
extern _Float32 roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) noexcept (true); | |
extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern _Float32 getpayloadf32 (const _Float32 *__x) noexcept (true); extern _Float32 __getpayloadf32 (const _Float32 *__x) noexcept (true); | |
extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) noexcept (true); | |
extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) noexcept (true); | |
# 451 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 467 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64 acosf64 (_Float64 __x) noexcept (true); extern _Float64 __acosf64 (_Float64 __x) noexcept (true); | |
extern _Float64 asinf64 (_Float64 __x) noexcept (true); extern _Float64 __asinf64 (_Float64 __x) noexcept (true); | |
extern _Float64 atanf64 (_Float64 __x) noexcept (true); extern _Float64 __atanf64 (_Float64 __x) noexcept (true); | |
extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) noexcept (true); | |
extern _Float64 cosf64 (_Float64 __x) noexcept (true); extern _Float64 __cosf64 (_Float64 __x) noexcept (true); | |
extern _Float64 sinf64 (_Float64 __x) noexcept (true); extern _Float64 __sinf64 (_Float64 __x) noexcept (true); | |
extern _Float64 tanf64 (_Float64 __x) noexcept (true); extern _Float64 __tanf64 (_Float64 __x) noexcept (true); | |
extern _Float64 coshf64 (_Float64 __x) noexcept (true); extern _Float64 __coshf64 (_Float64 __x) noexcept (true); | |
extern _Float64 sinhf64 (_Float64 __x) noexcept (true); extern _Float64 __sinhf64 (_Float64 __x) noexcept (true); | |
extern _Float64 tanhf64 (_Float64 __x) noexcept (true); extern _Float64 __tanhf64 (_Float64 __x) noexcept (true); | |
extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) noexcept (true); | |
extern _Float64 acoshf64 (_Float64 __x) noexcept (true); extern _Float64 __acoshf64 (_Float64 __x) noexcept (true); | |
extern _Float64 asinhf64 (_Float64 __x) noexcept (true); extern _Float64 __asinhf64 (_Float64 __x) noexcept (true); | |
extern _Float64 atanhf64 (_Float64 __x) noexcept (true); extern _Float64 __atanhf64 (_Float64 __x) noexcept (true); | |
extern _Float64 expf64 (_Float64 __x) noexcept (true); extern _Float64 __expf64 (_Float64 __x) noexcept (true); | |
extern _Float64 frexpf64 (_Float64 __x, int *__exponent) noexcept (true); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) noexcept (true); | |
extern _Float64 ldexpf64 (_Float64 __x, int __exponent) noexcept (true); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) noexcept (true); | |
extern _Float64 logf64 (_Float64 __x) noexcept (true); extern _Float64 __logf64 (_Float64 __x) noexcept (true); | |
extern _Float64 log10f64 (_Float64 __x) noexcept (true); extern _Float64 __log10f64 (_Float64 __x) noexcept (true); | |
extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern _Float64 exp10f64 (_Float64 __x) noexcept (true); extern _Float64 __exp10f64 (_Float64 __x) noexcept (true); | |
extern _Float64 expm1f64 (_Float64 __x) noexcept (true); extern _Float64 __expm1f64 (_Float64 __x) noexcept (true); | |
extern _Float64 log1pf64 (_Float64 __x) noexcept (true); extern _Float64 __log1pf64 (_Float64 __x) noexcept (true); | |
extern _Float64 logbf64 (_Float64 __x) noexcept (true); extern _Float64 __logbf64 (_Float64 __x) noexcept (true); | |
extern _Float64 exp2f64 (_Float64 __x) noexcept (true); extern _Float64 __exp2f64 (_Float64 __x) noexcept (true); | |
extern _Float64 log2f64 (_Float64 __x) noexcept (true); extern _Float64 __log2f64 (_Float64 __x) noexcept (true); | |
extern _Float64 powf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float64 sqrtf64 (_Float64 __x) noexcept (true); extern _Float64 __sqrtf64 (_Float64 __x) noexcept (true); | |
extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float64 cbrtf64 (_Float64 __x) noexcept (true); extern _Float64 __cbrtf64 (_Float64 __x) noexcept (true); | |
extern _Float64 ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
# 198 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 nanf64 (const char *__tagb) noexcept (true); extern _Float64 __nanf64 (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64 j0f64 (_Float64) noexcept (true); extern _Float64 __j0f64 (_Float64) noexcept (true); | |
extern _Float64 j1f64 (_Float64) noexcept (true); extern _Float64 __j1f64 (_Float64) noexcept (true); | |
extern _Float64 jnf64 (int, _Float64) noexcept (true); extern _Float64 __jnf64 (int, _Float64) noexcept (true); | |
extern _Float64 y0f64 (_Float64) noexcept (true); extern _Float64 __y0f64 (_Float64) noexcept (true); | |
extern _Float64 y1f64 (_Float64) noexcept (true); extern _Float64 __y1f64 (_Float64) noexcept (true); | |
extern _Float64 ynf64 (int, _Float64) noexcept (true); extern _Float64 __ynf64 (int, _Float64) noexcept (true); | |
extern _Float64 erff64 (_Float64) noexcept (true); extern _Float64 __erff64 (_Float64) noexcept (true); | |
extern _Float64 erfcf64 (_Float64) noexcept (true); extern _Float64 __erfcf64 (_Float64) noexcept (true); | |
extern _Float64 lgammaf64 (_Float64) noexcept (true); extern _Float64 __lgammaf64 (_Float64) noexcept (true); | |
extern _Float64 tgammaf64 (_Float64) noexcept (true); extern _Float64 __tgammaf64 (_Float64) noexcept (true); | |
# 252 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64 lgammaf64_r (_Float64, int *__signgamp) noexcept (true); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) noexcept (true); | |
extern _Float64 rintf64 (_Float64 __x) noexcept (true); extern _Float64 __rintf64 (_Float64 __x) noexcept (true); | |
extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float64 nextdownf64 (_Float64 __x) noexcept (true); extern _Float64 __nextdownf64 (_Float64 __x) noexcept (true); | |
extern _Float64 nextupf64 (_Float64 __x) noexcept (true); extern _Float64 __nextupf64 (_Float64 __x) noexcept (true); | |
extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float64 scalbnf64 (_Float64 __x, int __n) noexcept (true); extern _Float64 __scalbnf64 (_Float64 __x, int __n) noexcept (true); | |
extern int ilogbf64 (_Float64 __x) noexcept (true); extern int __ilogbf64 (_Float64 __x) noexcept (true); | |
extern long int llogbf64 (_Float64 __x) noexcept (true); extern long int __llogbf64 (_Float64 __x) noexcept (true); | |
extern _Float64 scalblnf64 (_Float64 __x, long int __n) noexcept (true); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) noexcept (true); | |
extern _Float64 nearbyintf64 (_Float64 __x) noexcept (true); extern _Float64 __nearbyintf64 (_Float64 __x) noexcept (true); | |
extern _Float64 roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) noexcept (true); | |
extern long int lrintf64 (_Float64 __x) noexcept (true); extern long int __lrintf64 (_Float64 __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf64 (_Float64 __x) noexcept (true); extern long long int __llrintf64 (_Float64 __x) noexcept (true); | |
extern long int lroundf64 (_Float64 __x) noexcept (true); extern long int __lroundf64 (_Float64 __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf64 (_Float64 __x) noexcept (true); extern long long int __llroundf64 (_Float64 __x) noexcept (true); | |
extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); | |
extern _Float64 roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) noexcept (true); | |
extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern _Float64 getpayloadf64 (const _Float64 *__x) noexcept (true); extern _Float64 __getpayloadf64 (const _Float64 *__x) noexcept (true); | |
extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) noexcept (true); | |
extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) noexcept (true); | |
# 468 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 484 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float128 acosf128 (_Float128 __x) noexcept (true); extern _Float128 __acosf128 (_Float128 __x) noexcept (true); | |
extern _Float128 asinf128 (_Float128 __x) noexcept (true); extern _Float128 __asinf128 (_Float128 __x) noexcept (true); | |
extern _Float128 atanf128 (_Float128 __x) noexcept (true); extern _Float128 __atanf128 (_Float128 __x) noexcept (true); | |
extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) noexcept (true); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) noexcept (true); | |
extern _Float128 cosf128 (_Float128 __x) noexcept (true); extern _Float128 __cosf128 (_Float128 __x) noexcept (true); | |
extern _Float128 sinf128 (_Float128 __x) noexcept (true); extern _Float128 __sinf128 (_Float128 __x) noexcept (true); | |
extern _Float128 tanf128 (_Float128 __x) noexcept (true); extern _Float128 __tanf128 (_Float128 __x) noexcept (true); | |
extern _Float128 coshf128 (_Float128 __x) noexcept (true); extern _Float128 __coshf128 (_Float128 __x) noexcept (true); | |
extern _Float128 sinhf128 (_Float128 __x) noexcept (true); extern _Float128 __sinhf128 (_Float128 __x) noexcept (true); | |
extern _Float128 tanhf128 (_Float128 __x) noexcept (true); extern _Float128 __tanhf128 (_Float128 __x) noexcept (true); | |
extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) noexcept (true); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) noexcept (true); | |
extern _Float128 acoshf128 (_Float128 __x) noexcept (true); extern _Float128 __acoshf128 (_Float128 __x) noexcept (true); | |
extern _Float128 asinhf128 (_Float128 __x) noexcept (true); extern _Float128 __asinhf128 (_Float128 __x) noexcept (true); | |
extern _Float128 atanhf128 (_Float128 __x) noexcept (true); extern _Float128 __atanhf128 (_Float128 __x) noexcept (true); | |
extern _Float128 expf128 (_Float128 __x) noexcept (true); extern _Float128 __expf128 (_Float128 __x) noexcept (true); | |
extern _Float128 frexpf128 (_Float128 __x, int *__exponent) noexcept (true); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) noexcept (true); | |
extern _Float128 ldexpf128 (_Float128 __x, int __exponent) noexcept (true); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) noexcept (true); | |
extern _Float128 logf128 (_Float128 __x) noexcept (true); extern _Float128 __logf128 (_Float128 __x) noexcept (true); | |
extern _Float128 log10f128 (_Float128 __x) noexcept (true); extern _Float128 __log10f128 (_Float128 __x) noexcept (true); | |
extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) noexcept (true); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern _Float128 exp10f128 (_Float128 __x) noexcept (true); extern _Float128 __exp10f128 (_Float128 __x) noexcept (true); | |
extern _Float128 expm1f128 (_Float128 __x) noexcept (true); extern _Float128 __expm1f128 (_Float128 __x) noexcept (true); | |
extern _Float128 log1pf128 (_Float128 __x) noexcept (true); extern _Float128 __log1pf128 (_Float128 __x) noexcept (true); | |
extern _Float128 logbf128 (_Float128 __x) noexcept (true); extern _Float128 __logbf128 (_Float128 __x) noexcept (true); | |
extern _Float128 exp2f128 (_Float128 __x) noexcept (true); extern _Float128 __exp2f128 (_Float128 __x) noexcept (true); | |
extern _Float128 log2f128 (_Float128 __x) noexcept (true); extern _Float128 __log2f128 (_Float128 __x) noexcept (true); | |
extern _Float128 powf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float128 sqrtf128 (_Float128 __x) noexcept (true); extern _Float128 __sqrtf128 (_Float128 __x) noexcept (true); | |
extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float128 cbrtf128 (_Float128 __x) noexcept (true); extern _Float128 __cbrtf128 (_Float128 __x) noexcept (true); | |
extern _Float128 ceilf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fabsf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 floorf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
# 198 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 nanf128 (const char *__tagb) noexcept (true); extern _Float128 __nanf128 (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float128 j0f128 (_Float128) noexcept (true); extern _Float128 __j0f128 (_Float128) noexcept (true); | |
extern _Float128 j1f128 (_Float128) noexcept (true); extern _Float128 __j1f128 (_Float128) noexcept (true); | |
extern _Float128 jnf128 (int, _Float128) noexcept (true); extern _Float128 __jnf128 (int, _Float128) noexcept (true); | |
extern _Float128 y0f128 (_Float128) noexcept (true); extern _Float128 __y0f128 (_Float128) noexcept (true); | |
extern _Float128 y1f128 (_Float128) noexcept (true); extern _Float128 __y1f128 (_Float128) noexcept (true); | |
extern _Float128 ynf128 (int, _Float128) noexcept (true); extern _Float128 __ynf128 (int, _Float128) noexcept (true); | |
extern _Float128 erff128 (_Float128) noexcept (true); extern _Float128 __erff128 (_Float128) noexcept (true); | |
extern _Float128 erfcf128 (_Float128) noexcept (true); extern _Float128 __erfcf128 (_Float128) noexcept (true); | |
extern _Float128 lgammaf128 (_Float128) noexcept (true); extern _Float128 __lgammaf128 (_Float128) noexcept (true); | |
extern _Float128 tgammaf128 (_Float128) noexcept (true); extern _Float128 __tgammaf128 (_Float128) noexcept (true); | |
# 252 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float128 lgammaf128_r (_Float128, int *__signgamp) noexcept (true); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) noexcept (true); | |
extern _Float128 rintf128 (_Float128 __x) noexcept (true); extern _Float128 __rintf128 (_Float128 __x) noexcept (true); | |
extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float128 nextdownf128 (_Float128 __x) noexcept (true); extern _Float128 __nextdownf128 (_Float128 __x) noexcept (true); | |
extern _Float128 nextupf128 (_Float128 __x) noexcept (true); extern _Float128 __nextupf128 (_Float128 __x) noexcept (true); | |
extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float128 scalbnf128 (_Float128 __x, int __n) noexcept (true); extern _Float128 __scalbnf128 (_Float128 __x, int __n) noexcept (true); | |
extern int ilogbf128 (_Float128 __x) noexcept (true); extern int __ilogbf128 (_Float128 __x) noexcept (true); | |
extern long int llogbf128 (_Float128 __x) noexcept (true); extern long int __llogbf128 (_Float128 __x) noexcept (true); | |
extern _Float128 scalblnf128 (_Float128 __x, long int __n) noexcept (true); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) noexcept (true); | |
extern _Float128 nearbyintf128 (_Float128 __x) noexcept (true); extern _Float128 __nearbyintf128 (_Float128 __x) noexcept (true); | |
extern _Float128 roundf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 truncf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) noexcept (true); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) noexcept (true); | |
extern long int lrintf128 (_Float128 __x) noexcept (true); extern long int __lrintf128 (_Float128 __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf128 (_Float128 __x) noexcept (true); extern long long int __llrintf128 (_Float128 __x) noexcept (true); | |
extern long int lroundf128 (_Float128 __x) noexcept (true); extern long int __lroundf128 (_Float128 __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf128 (_Float128 __x) noexcept (true); extern long long int __llroundf128 (_Float128 __x) noexcept (true); | |
extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) noexcept (true); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); | |
extern _Float128 roundevenf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) noexcept (true); | |
extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmaximumf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaximumf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminimumf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminimumf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmaximum_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaximum_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminimum_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminimum_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmaximum_magf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaximum_magf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminimum_magf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminimum_magf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float128 fminimum_mag_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); extern _Float128 __fminimum_mag_numf128 (_Float128 __x, _Float128 __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf128 (const _Float128 *__x, const _Float128 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf128 (const _Float128 *__x, const _Float128 *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern _Float128 getpayloadf128 (const _Float128 *__x) noexcept (true); extern _Float128 __getpayloadf128 (const _Float128 *__x) noexcept (true); | |
extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) noexcept (true); | |
extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) noexcept (true); | |
# 485 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 501 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32x acosf32x (_Float32x __x) noexcept (true); extern _Float32x __acosf32x (_Float32x __x) noexcept (true); | |
extern _Float32x asinf32x (_Float32x __x) noexcept (true); extern _Float32x __asinf32x (_Float32x __x) noexcept (true); | |
extern _Float32x atanf32x (_Float32x __x) noexcept (true); extern _Float32x __atanf32x (_Float32x __x) noexcept (true); | |
extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) noexcept (true); | |
extern _Float32x cosf32x (_Float32x __x) noexcept (true); extern _Float32x __cosf32x (_Float32x __x) noexcept (true); | |
extern _Float32x sinf32x (_Float32x __x) noexcept (true); extern _Float32x __sinf32x (_Float32x __x) noexcept (true); | |
extern _Float32x tanf32x (_Float32x __x) noexcept (true); extern _Float32x __tanf32x (_Float32x __x) noexcept (true); | |
extern _Float32x coshf32x (_Float32x __x) noexcept (true); extern _Float32x __coshf32x (_Float32x __x) noexcept (true); | |
extern _Float32x sinhf32x (_Float32x __x) noexcept (true); extern _Float32x __sinhf32x (_Float32x __x) noexcept (true); | |
extern _Float32x tanhf32x (_Float32x __x) noexcept (true); extern _Float32x __tanhf32x (_Float32x __x) noexcept (true); | |
extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) noexcept (true); | |
extern _Float32x acoshf32x (_Float32x __x) noexcept (true); extern _Float32x __acoshf32x (_Float32x __x) noexcept (true); | |
extern _Float32x asinhf32x (_Float32x __x) noexcept (true); extern _Float32x __asinhf32x (_Float32x __x) noexcept (true); | |
extern _Float32x atanhf32x (_Float32x __x) noexcept (true); extern _Float32x __atanhf32x (_Float32x __x) noexcept (true); | |
extern _Float32x expf32x (_Float32x __x) noexcept (true); extern _Float32x __expf32x (_Float32x __x) noexcept (true); | |
extern _Float32x frexpf32x (_Float32x __x, int *__exponent) noexcept (true); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) noexcept (true); | |
extern _Float32x ldexpf32x (_Float32x __x, int __exponent) noexcept (true); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) noexcept (true); | |
extern _Float32x logf32x (_Float32x __x) noexcept (true); extern _Float32x __logf32x (_Float32x __x) noexcept (true); | |
extern _Float32x log10f32x (_Float32x __x) noexcept (true); extern _Float32x __log10f32x (_Float32x __x) noexcept (true); | |
extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern _Float32x exp10f32x (_Float32x __x) noexcept (true); extern _Float32x __exp10f32x (_Float32x __x) noexcept (true); | |
extern _Float32x expm1f32x (_Float32x __x) noexcept (true); extern _Float32x __expm1f32x (_Float32x __x) noexcept (true); | |
extern _Float32x log1pf32x (_Float32x __x) noexcept (true); extern _Float32x __log1pf32x (_Float32x __x) noexcept (true); | |
extern _Float32x logbf32x (_Float32x __x) noexcept (true); extern _Float32x __logbf32x (_Float32x __x) noexcept (true); | |
extern _Float32x exp2f32x (_Float32x __x) noexcept (true); extern _Float32x __exp2f32x (_Float32x __x) noexcept (true); | |
extern _Float32x log2f32x (_Float32x __x) noexcept (true); extern _Float32x __log2f32x (_Float32x __x) noexcept (true); | |
extern _Float32x powf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32x sqrtf32x (_Float32x __x) noexcept (true); extern _Float32x __sqrtf32x (_Float32x __x) noexcept (true); | |
extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32x cbrtf32x (_Float32x __x) noexcept (true); extern _Float32x __cbrtf32x (_Float32x __x) noexcept (true); | |
extern _Float32x ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
# 198 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x nanf32x (const char *__tagb) noexcept (true); extern _Float32x __nanf32x (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32x j0f32x (_Float32x) noexcept (true); extern _Float32x __j0f32x (_Float32x) noexcept (true); | |
extern _Float32x j1f32x (_Float32x) noexcept (true); extern _Float32x __j1f32x (_Float32x) noexcept (true); | |
extern _Float32x jnf32x (int, _Float32x) noexcept (true); extern _Float32x __jnf32x (int, _Float32x) noexcept (true); | |
extern _Float32x y0f32x (_Float32x) noexcept (true); extern _Float32x __y0f32x (_Float32x) noexcept (true); | |
extern _Float32x y1f32x (_Float32x) noexcept (true); extern _Float32x __y1f32x (_Float32x) noexcept (true); | |
extern _Float32x ynf32x (int, _Float32x) noexcept (true); extern _Float32x __ynf32x (int, _Float32x) noexcept (true); | |
extern _Float32x erff32x (_Float32x) noexcept (true); extern _Float32x __erff32x (_Float32x) noexcept (true); | |
extern _Float32x erfcf32x (_Float32x) noexcept (true); extern _Float32x __erfcf32x (_Float32x) noexcept (true); | |
extern _Float32x lgammaf32x (_Float32x) noexcept (true); extern _Float32x __lgammaf32x (_Float32x) noexcept (true); | |
extern _Float32x tgammaf32x (_Float32x) noexcept (true); extern _Float32x __tgammaf32x (_Float32x) noexcept (true); | |
# 252 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) noexcept (true); | |
extern _Float32x rintf32x (_Float32x __x) noexcept (true); extern _Float32x __rintf32x (_Float32x __x) noexcept (true); | |
extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32x nextdownf32x (_Float32x __x) noexcept (true); extern _Float32x __nextdownf32x (_Float32x __x) noexcept (true); | |
extern _Float32x nextupf32x (_Float32x __x) noexcept (true); extern _Float32x __nextupf32x (_Float32x __x) noexcept (true); | |
extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32x scalbnf32x (_Float32x __x, int __n) noexcept (true); extern _Float32x __scalbnf32x (_Float32x __x, int __n) noexcept (true); | |
extern int ilogbf32x (_Float32x __x) noexcept (true); extern int __ilogbf32x (_Float32x __x) noexcept (true); | |
extern long int llogbf32x (_Float32x __x) noexcept (true); extern long int __llogbf32x (_Float32x __x) noexcept (true); | |
extern _Float32x scalblnf32x (_Float32x __x, long int __n) noexcept (true); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) noexcept (true); | |
extern _Float32x nearbyintf32x (_Float32x __x) noexcept (true); extern _Float32x __nearbyintf32x (_Float32x __x) noexcept (true); | |
extern _Float32x roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) noexcept (true); | |
extern long int lrintf32x (_Float32x __x) noexcept (true); extern long int __lrintf32x (_Float32x __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf32x (_Float32x __x) noexcept (true); extern long long int __llrintf32x (_Float32x __x) noexcept (true); | |
extern long int lroundf32x (_Float32x __x) noexcept (true); extern long int __lroundf32x (_Float32x __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf32x (_Float32x __x) noexcept (true); extern long long int __llroundf32x (_Float32x __x) noexcept (true); | |
extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); | |
extern _Float32x roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) noexcept (true); | |
extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern _Float32x getpayloadf32x (const _Float32x *__x) noexcept (true); extern _Float32x __getpayloadf32x (const _Float32x *__x) noexcept (true); | |
extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) noexcept (true); | |
extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) noexcept (true); | |
# 502 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 518 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 1 3 | |
# 53 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64x acosf64x (_Float64x __x) noexcept (true); extern _Float64x __acosf64x (_Float64x __x) noexcept (true); | |
extern _Float64x asinf64x (_Float64x __x) noexcept (true); extern _Float64x __asinf64x (_Float64x __x) noexcept (true); | |
extern _Float64x atanf64x (_Float64x __x) noexcept (true); extern _Float64x __atanf64x (_Float64x __x) noexcept (true); | |
extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) noexcept (true); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) noexcept (true); | |
extern _Float64x cosf64x (_Float64x __x) noexcept (true); extern _Float64x __cosf64x (_Float64x __x) noexcept (true); | |
extern _Float64x sinf64x (_Float64x __x) noexcept (true); extern _Float64x __sinf64x (_Float64x __x) noexcept (true); | |
extern _Float64x tanf64x (_Float64x __x) noexcept (true); extern _Float64x __tanf64x (_Float64x __x) noexcept (true); | |
extern _Float64x coshf64x (_Float64x __x) noexcept (true); extern _Float64x __coshf64x (_Float64x __x) noexcept (true); | |
extern _Float64x sinhf64x (_Float64x __x) noexcept (true); extern _Float64x __sinhf64x (_Float64x __x) noexcept (true); | |
extern _Float64x tanhf64x (_Float64x __x) noexcept (true); extern _Float64x __tanhf64x (_Float64x __x) noexcept (true); | |
extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) noexcept (true); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) noexcept (true); | |
extern _Float64x acoshf64x (_Float64x __x) noexcept (true); extern _Float64x __acoshf64x (_Float64x __x) noexcept (true); | |
extern _Float64x asinhf64x (_Float64x __x) noexcept (true); extern _Float64x __asinhf64x (_Float64x __x) noexcept (true); | |
extern _Float64x atanhf64x (_Float64x __x) noexcept (true); extern _Float64x __atanhf64x (_Float64x __x) noexcept (true); | |
extern _Float64x expf64x (_Float64x __x) noexcept (true); extern _Float64x __expf64x (_Float64x __x) noexcept (true); | |
extern _Float64x frexpf64x (_Float64x __x, int *__exponent) noexcept (true); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) noexcept (true); | |
extern _Float64x ldexpf64x (_Float64x __x, int __exponent) noexcept (true); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) noexcept (true); | |
extern _Float64x logf64x (_Float64x __x) noexcept (true); extern _Float64x __logf64x (_Float64x __x) noexcept (true); | |
extern _Float64x log10f64x (_Float64x __x) noexcept (true); extern _Float64x __log10f64x (_Float64x __x) noexcept (true); | |
extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) noexcept (true); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern _Float64x exp10f64x (_Float64x __x) noexcept (true); extern _Float64x __exp10f64x (_Float64x __x) noexcept (true); | |
extern _Float64x expm1f64x (_Float64x __x) noexcept (true); extern _Float64x __expm1f64x (_Float64x __x) noexcept (true); | |
extern _Float64x log1pf64x (_Float64x __x) noexcept (true); extern _Float64x __log1pf64x (_Float64x __x) noexcept (true); | |
extern _Float64x logbf64x (_Float64x __x) noexcept (true); extern _Float64x __logbf64x (_Float64x __x) noexcept (true); | |
extern _Float64x exp2f64x (_Float64x __x) noexcept (true); extern _Float64x __exp2f64x (_Float64x __x) noexcept (true); | |
extern _Float64x log2f64x (_Float64x __x) noexcept (true); extern _Float64x __log2f64x (_Float64x __x) noexcept (true); | |
extern _Float64x powf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64x sqrtf64x (_Float64x __x) noexcept (true); extern _Float64x __sqrtf64x (_Float64x __x) noexcept (true); | |
extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64x cbrtf64x (_Float64x __x) noexcept (true); extern _Float64x __cbrtf64x (_Float64x __x) noexcept (true); | |
extern _Float64x ceilf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fabsf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x floorf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
# 198 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x nanf64x (const char *__tagb) noexcept (true); extern _Float64x __nanf64x (const char *__tagb) noexcept (true); | |
# 220 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64x j0f64x (_Float64x) noexcept (true); extern _Float64x __j0f64x (_Float64x) noexcept (true); | |
extern _Float64x j1f64x (_Float64x) noexcept (true); extern _Float64x __j1f64x (_Float64x) noexcept (true); | |
extern _Float64x jnf64x (int, _Float64x) noexcept (true); extern _Float64x __jnf64x (int, _Float64x) noexcept (true); | |
extern _Float64x y0f64x (_Float64x) noexcept (true); extern _Float64x __y0f64x (_Float64x) noexcept (true); | |
extern _Float64x y1f64x (_Float64x) noexcept (true); extern _Float64x __y1f64x (_Float64x) noexcept (true); | |
extern _Float64x ynf64x (int, _Float64x) noexcept (true); extern _Float64x __ynf64x (int, _Float64x) noexcept (true); | |
extern _Float64x erff64x (_Float64x) noexcept (true); extern _Float64x __erff64x (_Float64x) noexcept (true); | |
extern _Float64x erfcf64x (_Float64x) noexcept (true); extern _Float64x __erfcf64x (_Float64x) noexcept (true); | |
extern _Float64x lgammaf64x (_Float64x) noexcept (true); extern _Float64x __lgammaf64x (_Float64x) noexcept (true); | |
extern _Float64x tgammaf64x (_Float64x) noexcept (true); extern _Float64x __tgammaf64x (_Float64x) noexcept (true); | |
# 252 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls.h" 3 | |
extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) noexcept (true); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) noexcept (true); | |
extern _Float64x rintf64x (_Float64x __x) noexcept (true); extern _Float64x __rintf64x (_Float64x __x) noexcept (true); | |
extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64x nextdownf64x (_Float64x __x) noexcept (true); extern _Float64x __nextdownf64x (_Float64x __x) noexcept (true); | |
extern _Float64x nextupf64x (_Float64x __x) noexcept (true); extern _Float64x __nextupf64x (_Float64x __x) noexcept (true); | |
extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64x scalbnf64x (_Float64x __x, int __n) noexcept (true); extern _Float64x __scalbnf64x (_Float64x __x, int __n) noexcept (true); | |
extern int ilogbf64x (_Float64x __x) noexcept (true); extern int __ilogbf64x (_Float64x __x) noexcept (true); | |
extern long int llogbf64x (_Float64x __x) noexcept (true); extern long int __llogbf64x (_Float64x __x) noexcept (true); | |
extern _Float64x scalblnf64x (_Float64x __x, long int __n) noexcept (true); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) noexcept (true); | |
extern _Float64x nearbyintf64x (_Float64x __x) noexcept (true); extern _Float64x __nearbyintf64x (_Float64x __x) noexcept (true); | |
extern _Float64x roundf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x truncf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) noexcept (true); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) noexcept (true); | |
extern long int lrintf64x (_Float64x __x) noexcept (true); extern long int __lrintf64x (_Float64x __x) noexcept (true); | |
__extension__ | |
extern long long int llrintf64x (_Float64x __x) noexcept (true); extern long long int __llrintf64x (_Float64x __x) noexcept (true); | |
extern long int lroundf64x (_Float64x __x) noexcept (true); extern long int __lroundf64x (_Float64x __x) noexcept (true); | |
__extension__ | |
extern long long int llroundf64x (_Float64x __x) noexcept (true); extern long long int __llroundf64x (_Float64x __x) noexcept (true); | |
extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) noexcept (true); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) noexcept (true); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) noexcept (true); | |
extern _Float64x roundevenf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) noexcept (true) __attribute__ ((__const__)); | |
extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); | |
extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); | |
extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) noexcept (true); | |
extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) noexcept (true); | |
extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmaximumf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaximumf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminimumf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminimumf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmaximum_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaximum_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminimum_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminimum_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmaximum_magf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaximum_magf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminimum_magf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminimum_magf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern _Float64x fminimum_mag_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); extern _Float64x __fminimum_mag_numf64x (_Float64x __x, _Float64x __y) noexcept (true) __attribute__ ((__const__)); | |
extern int totalorderf64x (const _Float64x *__x, const _Float64x *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern int totalordermagf64x (const _Float64x *__x, const _Float64x *__y) noexcept (true) | |
__attribute__ ((__pure__)); | |
extern _Float64x getpayloadf64x (const _Float64x *__x) noexcept (true); extern _Float64x __getpayloadf64x (const _Float64x *__x) noexcept (true); | |
extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) noexcept (true); | |
extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) noexcept (true); | |
# 519 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 566 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern float fadd (double __x, double __y) noexcept (true); | |
extern float fdiv (double __x, double __y) noexcept (true); | |
extern float ffma (double __x, double __y, double __z) noexcept (true); | |
extern float fmul (double __x, double __y) noexcept (true); | |
extern float fsqrt (double __x) noexcept (true); | |
extern float fsub (double __x, double __y) noexcept (true); | |
# 567 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 587 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern float faddl (long double __x, long double __y) noexcept (true); | |
extern float fdivl (long double __x, long double __y) noexcept (true); | |
extern float ffmal (long double __x, long double __y, long double __z) noexcept (true); | |
extern float fmull (long double __x, long double __y) noexcept (true); | |
extern float fsqrtl (long double __x) noexcept (true); | |
extern float fsubl (long double __x, long double __y) noexcept (true); | |
# 588 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 616 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern double daddl (long double __x, long double __y) noexcept (true); | |
extern double ddivl (long double __x, long double __y) noexcept (true); | |
extern double dfmal (long double __x, long double __y, long double __z) noexcept (true); | |
extern double dmull (long double __x, long double __y) noexcept (true); | |
extern double dsqrtl (long double __x) noexcept (true); | |
extern double dsubl (long double __x, long double __y) noexcept (true); | |
# 617 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 697 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) noexcept (true); | |
extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
extern _Float32 f32sqrtf32x (_Float32x __x) noexcept (true); | |
extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) noexcept (true); | |
# 698 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 707 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); | |
extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32 f32sqrtf64 (_Float64 __x) noexcept (true); | |
extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
# 708 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 717 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32 f32fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) noexcept (true); | |
extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32 f32sqrtf64x (_Float64x __x) noexcept (true); | |
extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
# 718 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 727 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32 f32fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); | |
extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32 f32sqrtf128 (_Float128 __x) noexcept (true); | |
extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
# 728 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 747 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32x f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) noexcept (true); | |
extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
extern _Float32x f32xsqrtf64 (_Float64 __x) noexcept (true); | |
extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) noexcept (true); | |
# 748 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 757 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32x f32xfmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) noexcept (true); | |
extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float32x f32xsqrtf64x (_Float64x __x) noexcept (true); | |
extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
# 758 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 767 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32x f32xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); | |
extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float32x f32xsqrtf128 (_Float128 __x) noexcept (true); | |
extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
# 768 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 787 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64 f64fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) noexcept (true); | |
extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
extern _Float64 f64sqrtf64x (_Float64x __x) noexcept (true); | |
extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) noexcept (true); | |
# 788 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 797 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64 f64fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); | |
extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64 f64sqrtf128 (_Float128 __x) noexcept (true); | |
extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
# 798 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 817 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/mathcalls-narrow.h" 3 | |
extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64x f64xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) noexcept (true); | |
extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
extern _Float64x f64xsqrtf128 (_Float128 __x) noexcept (true); | |
extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) noexcept (true); | |
# 818 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 854 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
extern int signgam; | |
# 934 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
enum | |
{ | |
FP_NAN = | |
0, | |
FP_INFINITE = | |
1, | |
FP_ZERO = | |
2, | |
FP_SUBNORMAL = | |
3, | |
FP_NORMAL = | |
4 | |
}; | |
# 1054 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/iscanonical.h" 1 3 | |
# 1055 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 2 3 | |
# 1066 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
extern "C++" { | |
inline int issignaling (float __val) { return __issignalingf (__val); } | |
inline int issignaling (double __val) { return __issignaling (__val); } | |
inline int | |
issignaling (long double __val) | |
{ | |
return __issignalingl (__val); | |
} | |
} | |
# 1097 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
extern "C++" { | |
# 1128 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
template <class __T> inline bool | |
iszero (__T __val) | |
{ | |
return __val == 0; | |
} | |
} | |
# 1363 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
extern "C++" { | |
template<typename> struct __iseqsig_type; | |
template<> struct __iseqsig_type<float> | |
{ | |
static int __call (float __x, float __y) throw () | |
{ | |
return __iseqsigf (__x, __y); | |
} | |
}; | |
template<> struct __iseqsig_type<double> | |
{ | |
static int __call (double __x, double __y) throw () | |
{ | |
return __iseqsig (__x, __y); | |
} | |
}; | |
template<> struct __iseqsig_type<long double> | |
{ | |
static int __call (long double __x, long double __y) throw () | |
{ | |
return __iseqsigl (__x, __y); | |
} | |
}; | |
# 1406 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/math.h" 3 | |
template<typename _T1, typename _T2> | |
inline int | |
iseqsig (_T1 __x, _T2 __y) throw () | |
{ | |
typedef decltype (((__x) + (__y) + 0.0f)) _T3; | |
return __iseqsig_type<_T3>::__call (__x, __y); | |
} | |
} | |
} | |
# 302 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 2 3 | |
extern "C++" { | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 1 3 | |
# 91 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 1 3 | |
# 26 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 33 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
extern "C" { | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/waitflags.h" 1 3 | |
# 41 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/waitstatus.h" 1 3 | |
# 42 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
# 59 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
typedef struct | |
{ | |
int quot; | |
int rem; | |
} div_t; | |
typedef struct | |
{ | |
long int quot; | |
long int rem; | |
} ldiv_t; | |
__extension__ typedef struct | |
{ | |
long long int quot; | |
long long int rem; | |
} lldiv_t; | |
# 98 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ; | |
extern double atof (const char *__nptr) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
extern int atoi (const char *__nptr) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
extern long int atol (const char *__nptr) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
__extension__ extern long long int atoll (const char *__nptr) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
extern double strtod (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern float strtof (const char *__restrict __nptr, | |
char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern long double strtold (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
# 141 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern _Float32 strtof32 (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern _Float64 strtof64 (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern _Float128 strtof128 (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern _Float32x strtof32x (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern _Float64x strtof64x (const char *__restrict __nptr, | |
char **__restrict __endptr) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
# 177 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern long int strtol (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern unsigned long int strtoul (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
__extension__ | |
extern long long int strtoq (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
__extension__ | |
extern unsigned long long int strtouq (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
__extension__ | |
extern long long int strtoll (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
__extension__ | |
extern unsigned long long int strtoull (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern int strfromd (char *__dest, size_t __size, const char *__format, | |
double __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfromf (char *__dest, size_t __size, const char *__format, | |
float __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfroml (char *__dest, size_t __size, const char *__format, | |
long double __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
# 233 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int strfromf32 (char *__dest, size_t __size, const char * __format, | |
_Float32 __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfromf64 (char *__dest, size_t __size, const char * __format, | |
_Float64 __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfromf128 (char *__dest, size_t __size, const char * __format, | |
_Float128 __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfromf32x (char *__dest, size_t __size, const char * __format, | |
_Float32x __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
extern int strfromf64x (char *__dest, size_t __size, const char * __format, | |
_Float64x __f) | |
noexcept (true) __attribute__ ((__nonnull__ (3))); | |
# 273 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/locale_t.h" 1 3 | |
# 22 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/locale_t.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__locale_t.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__locale_t.h" 3 | |
struct __locale_struct | |
{ | |
struct __locale_data *__locales[13]; | |
const unsigned short int *__ctype_b; | |
const int *__ctype_tolower; | |
const int *__ctype_toupper; | |
const char *__names[13]; | |
}; | |
typedef struct __locale_struct *__locale_t; | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/locale_t.h" 2 3 | |
typedef __locale_t locale_t; | |
# 274 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
extern long int strtol_l (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base, | |
locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4))); | |
extern unsigned long int strtoul_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
int __base, locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 4))); | |
__extension__ | |
extern long long int strtoll_l (const char *__restrict __nptr, | |
char **__restrict __endptr, int __base, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 4))); | |
__extension__ | |
extern unsigned long long int strtoull_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
int __base, locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 4))); | |
extern double strtod_l (const char *__restrict __nptr, | |
char **__restrict __endptr, locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern float strtof_l (const char *__restrict __nptr, | |
char **__restrict __endptr, locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern long double strtold_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
# 317 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern _Float32 strtof32_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern _Float64 strtof64_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern _Float128 strtof128_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern _Float32x strtof32x_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
extern _Float64x strtof64x_l (const char *__restrict __nptr, | |
char **__restrict __endptr, | |
locale_t __loc) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 3))); | |
# 361 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern __inline __attribute__ ((__gnu_inline__)) int | |
atoi (const char *__nptr) noexcept (true) | |
{ | |
return (int) strtol (__nptr, (char **) __null, 10); | |
} | |
extern __inline __attribute__ ((__gnu_inline__)) long int | |
atol (const char *__nptr) noexcept (true) | |
{ | |
return strtol (__nptr, (char **) __null, 10); | |
} | |
__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int | |
atoll (const char *__nptr) noexcept (true) | |
{ | |
return strtoll (__nptr, (char **) __null, 10); | |
} | |
# 386 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern char *l64a (long int __n) noexcept (true) ; | |
extern long int a64l (const char *__s) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 3 | |
extern "C" { | |
typedef __u_char u_char; | |
typedef __u_short u_short; | |
typedef __u_int u_int; | |
typedef __u_long u_long; | |
typedef __quad_t quad_t; | |
typedef __u_quad_t u_quad_t; | |
typedef __fsid_t fsid_t; | |
typedef __loff_t loff_t; | |
typedef __ino_t ino_t; | |
typedef __ino64_t ino64_t; | |
typedef __dev_t dev_t; | |
typedef __gid_t gid_t; | |
typedef __mode_t mode_t; | |
typedef __nlink_t nlink_t; | |
typedef __uid_t uid_t; | |
typedef __off_t off_t; | |
typedef __off64_t off64_t; | |
typedef __pid_t pid_t; | |
typedef __id_t id_t; | |
typedef __ssize_t ssize_t; | |
typedef __daddr_t daddr_t; | |
typedef __caddr_t caddr_t; | |
typedef __key_t key_t; | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/clock_t.h" 1 3 | |
typedef __clock_t clock_t; | |
# 127 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/clockid_t.h" 1 3 | |
typedef __clockid_t clockid_t; | |
# 129 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/time_t.h" 1 3 | |
# 10 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/time_t.h" 3 | |
typedef __time_t time_t; | |
# 130 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/timer_t.h" 1 3 | |
typedef __timer_t timer_t; | |
# 131 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
typedef __useconds_t useconds_t; | |
typedef __suseconds_t suseconds_t; | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 145 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
typedef unsigned long int ulong; | |
typedef unsigned short int ushort; | |
typedef unsigned int uint; | |
typedef __uint8_t u_int8_t; | |
typedef __uint16_t u_int16_t; | |
typedef __uint32_t u_int32_t; | |
typedef __uint64_t u_int64_t; | |
typedef int register_t __attribute__ ((__mode__ (__word__))); | |
# 176 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/endian.h" 1 3 | |
# 35 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/endian.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/endianness.h" 1 3 | |
# 36 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/endian.h" 2 3 | |
# 25 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 2 3 | |
# 35 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/byteswap.h" 1 3 | |
# 33 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/byteswap.h" 3 | |
static __inline __uint16_t | |
__bswap_16 (__uint16_t __bsx) | |
{ | |
return ((__uint16_t) ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8))); | |
} | |
static __inline __uint32_t | |
__bswap_32 (__uint32_t __bsx) | |
{ | |
return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) | (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24)); | |
} | |
# 69 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/byteswap.h" 3 | |
__extension__ static __inline __uint64_t | |
__bswap_64 (__uint64_t __bsx) | |
{ | |
return ((((__bsx) & 0xff00000000000000ull) >> 56) | (((__bsx) & 0x00ff000000000000ull) >> 40) | (((__bsx) & 0x0000ff0000000000ull) >> 24) | (((__bsx) & 0x000000ff00000000ull) >> 8) | (((__bsx) & 0x00000000ff000000ull) << 8) | (((__bsx) & 0x0000000000ff0000ull) << 24) | (((__bsx) & 0x000000000000ff00ull) << 40) | (((__bsx) & 0x00000000000000ffull) << 56)); | |
} | |
# 36 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/uintn-identity.h" 1 3 | |
# 32 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/uintn-identity.h" 3 | |
static __inline __uint16_t | |
__uint16_identity (__uint16_t __x) | |
{ | |
return __x; | |
} | |
static __inline __uint32_t | |
__uint32_identity (__uint32_t __x) | |
{ | |
return __x; | |
} | |
static __inline __uint64_t | |
__uint64_identity (__uint64_t __x) | |
{ | |
return __x; | |
} | |
# 37 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/endian.h" 2 3 | |
# 177 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 1 3 | |
# 30 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/select.h" 1 3 | |
# 31 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/sigset_t.h" 1 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__sigset_t.h" 1 3 | |
typedef struct | |
{ | |
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; | |
} __sigset_t; | |
# 5 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/sigset_t.h" 2 3 | |
typedef __sigset_t sigset_t; | |
# 34 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/struct_timeval.h" 1 3 | |
struct timeval | |
{ | |
__time_t tv_sec; | |
__suseconds_t tv_usec; | |
}; | |
# 38 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/struct_timespec.h" 1 3 | |
# 11 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/struct_timespec.h" 3 | |
struct timespec | |
{ | |
__time_t tv_sec; | |
__syscall_slong_t tv_nsec; | |
# 31 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/struct_timespec.h" 3 | |
}; | |
# 40 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 2 3 | |
# 49 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
typedef long int __fd_mask; | |
# 59 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
typedef struct | |
{ | |
__fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; | |
} fd_set; | |
typedef __fd_mask fd_mask; | |
# 91 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
extern "C" { | |
# 102 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
extern int select (int __nfds, fd_set *__restrict __readfds, | |
fd_set *__restrict __writefds, | |
fd_set *__restrict __exceptfds, | |
struct timeval *__restrict __timeout); | |
# 127 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
extern int pselect (int __nfds, fd_set *__restrict __readfds, | |
fd_set *__restrict __writefds, | |
fd_set *__restrict __exceptfds, | |
const struct timespec *__restrict __timeout, | |
const __sigset_t *__restrict __sigmask); | |
# 153 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/select.h" 3 | |
} | |
# 180 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
typedef __blksize_t blksize_t; | |
typedef __blkcnt_t blkcnt_t; | |
typedef __fsblkcnt_t fsblkcnt_t; | |
typedef __fsfilcnt_t fsfilcnt_t; | |
# 219 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 3 | |
typedef __blkcnt64_t blkcnt64_t; | |
typedef __fsblkcnt64_t fsblkcnt64_t; | |
typedef __fsfilcnt64_t fsfilcnt64_t; | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthreadtypes.h" 1 3 | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthreadtypes.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 1 3 | |
# 44 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthreadtypes-arch.h" 1 3 | |
# 45 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/atomic_wide_counter.h" 1 3 | |
# 25 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/atomic_wide_counter.h" 3 | |
typedef union | |
{ | |
__extension__ unsigned long long int __value64; | |
struct | |
{ | |
unsigned int __low; | |
unsigned int __high; | |
} __value32; | |
} __atomic_wide_counter; | |
# 47 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 2 3 | |
typedef struct __pthread_internal_list | |
{ | |
struct __pthread_internal_list *__prev; | |
struct __pthread_internal_list *__next; | |
} __pthread_list_t; | |
typedef struct __pthread_internal_slist | |
{ | |
struct __pthread_internal_slist *__next; | |
} __pthread_slist_t; | |
# 76 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_mutex.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_mutex.h" 3 | |
struct __pthread_mutex_s | |
{ | |
int __lock ; | |
unsigned int __count; | |
int __owner; | |
unsigned int __nusers; | |
# 58 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_mutex.h" 3 | |
int __kind; | |
int __spins; | |
__pthread_list_t __list; | |
# 74 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_mutex.h" 3 | |
}; | |
# 77 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 2 3 | |
# 89 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_rwlock.h" 1 3 | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/struct_rwlock.h" 3 | |
struct __pthread_rwlock_arch_t | |
{ | |
unsigned int __readers; | |
unsigned int __writers; | |
unsigned int __wrphase_futex; | |
unsigned int __writers_futex; | |
unsigned int __pad3; | |
unsigned int __pad4; | |
int __cur_writer; | |
int __shared; | |
unsigned long int __pad1; | |
unsigned long int __pad2; | |
unsigned int __flags; | |
}; | |
# 90 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/thread-shared-types.h" 2 3 | |
struct __pthread_cond_s | |
{ | |
__atomic_wide_counter __wseq; | |
__atomic_wide_counter __g1_start; | |
unsigned int __g_refs[2] ; | |
unsigned int __g_size[2]; | |
unsigned int __g1_orig_size; | |
unsigned int __wrefs; | |
unsigned int __g_signals[2]; | |
}; | |
typedef unsigned int __tss_t; | |
typedef unsigned long int __thrd_t; | |
typedef struct | |
{ | |
int __data ; | |
} __once_flag; | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthreadtypes.h" 2 3 | |
typedef unsigned long int pthread_t; | |
typedef union | |
{ | |
char __size[8]; | |
int __align; | |
} pthread_mutexattr_t; | |
typedef union | |
{ | |
char __size[8]; | |
int __align; | |
} pthread_condattr_t; | |
typedef unsigned int pthread_key_t; | |
typedef int pthread_once_t; | |
union pthread_attr_t | |
{ | |
char __size[64]; | |
long int __align; | |
}; | |
typedef union pthread_attr_t pthread_attr_t; | |
typedef union | |
{ | |
struct __pthread_mutex_s __data; | |
char __size[48]; | |
long int __align; | |
} pthread_mutex_t; | |
typedef union | |
{ | |
struct __pthread_cond_s __data; | |
char __size[48]; | |
__extension__ long long int __align; | |
} pthread_cond_t; | |
typedef union | |
{ | |
struct __pthread_rwlock_arch_t __data; | |
char __size[56]; | |
long int __align; | |
} pthread_rwlock_t; | |
typedef union | |
{ | |
char __size[8]; | |
long int __align; | |
} pthread_rwlockattr_t; | |
typedef volatile int pthread_spinlock_t; | |
typedef union | |
{ | |
char __size[32]; | |
long int __align; | |
} pthread_barrier_t; | |
typedef union | |
{ | |
char __size[8]; | |
int __align; | |
} pthread_barrierattr_t; | |
# 228 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/types.h" 2 3 | |
} | |
# 396 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
extern long int random (void) noexcept (true); | |
extern void srandom (unsigned int __seed) noexcept (true); | |
extern char *initstate (unsigned int __seed, char *__statebuf, | |
size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
struct random_data | |
{ | |
int32_t *fptr; | |
int32_t *rptr; | |
int32_t *state; | |
int rand_type; | |
int rand_deg; | |
int rand_sep; | |
int32_t *end_ptr; | |
}; | |
extern int random_r (struct random_data *__restrict __buf, | |
int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int srandom_r (unsigned int __seed, struct random_data *__buf) | |
noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, | |
size_t __statelen, | |
struct random_data *__restrict __buf) | |
noexcept (true) __attribute__ ((__nonnull__ (2, 4))); | |
extern int setstate_r (char *__restrict __statebuf, | |
struct random_data *__restrict __buf) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int rand (void) noexcept (true); | |
extern void srand (unsigned int __seed) noexcept (true); | |
extern int rand_r (unsigned int *__seed) noexcept (true); | |
extern double drand48 (void) noexcept (true); | |
extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern long int lrand48 (void) noexcept (true); | |
extern long int nrand48 (unsigned short int __xsubi[3]) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern long int mrand48 (void) noexcept (true); | |
extern long int jrand48 (unsigned short int __xsubi[3]) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern void srand48 (long int __seedval) noexcept (true); | |
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
struct drand48_data | |
{ | |
unsigned short int __x[3]; | |
unsigned short int __old_x[3]; | |
unsigned short int __c; | |
unsigned short int __init; | |
__extension__ unsigned long long int __a; | |
}; | |
extern int drand48_r (struct drand48_data *__restrict __buffer, | |
double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int erand48_r (unsigned short int __xsubi[3], | |
struct drand48_data *__restrict __buffer, | |
double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int lrand48_r (struct drand48_data *__restrict __buffer, | |
long int *__restrict __result) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int nrand48_r (unsigned short int __xsubi[3], | |
struct drand48_data *__restrict __buffer, | |
long int *__restrict __result) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int mrand48_r (struct drand48_data *__restrict __buffer, | |
long int *__restrict __result) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int jrand48_r (unsigned short int __xsubi[3], | |
struct drand48_data *__restrict __buffer, | |
long int *__restrict __result) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int srand48_r (long int __seedval, struct drand48_data *__buffer) | |
noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern int seed48_r (unsigned short int __seed16v[3], | |
struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int lcong48_r (unsigned short int __param[7], | |
struct drand48_data *__buffer) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) | |
; | |
extern void *calloc (size_t __nmemb, size_t __size) | |
noexcept (true) __attribute__ ((__malloc__)) ; | |
extern void *realloc (void *__ptr, size_t __size) | |
noexcept (true) __attribute__ ((__warn_unused_result__)) ; | |
extern void free (void *__ptr) noexcept (true); | |
extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) | |
noexcept (true) __attribute__ ((__warn_unused_result__)) | |
; | |
extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) | |
noexcept (true) ; | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/alloca.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/alloca.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 25 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/alloca.h" 2 3 | |
extern "C" { | |
extern void *alloca (size_t __size) noexcept (true); | |
} | |
# 575 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__)) | |
; | |
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) | |
noexcept (true) __attribute__ ((__nonnull__ (1))) ; | |
extern void *aligned_alloc (size_t __alignment, size_t __size) | |
noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) | |
; | |
extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)); | |
extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern "C++" int at_quick_exit (void (*__func) (void)) | |
noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); | |
# 617 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); | |
extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); | |
extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__)); | |
extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ; | |
extern char *secure_getenv (const char *__name) | |
noexcept (true) __attribute__ ((__nonnull__ (1))) ; | |
extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern int setenv (const char *__name, const char *__value, int __replace) | |
noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern int clearenv (void) noexcept (true); | |
# 682 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
# 695 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
# 705 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
# 717 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; | |
# 727 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkstemps64 (char *__template, int __suffixlen) | |
__attribute__ ((__nonnull__ (1))) ; | |
# 738 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ; | |
# 749 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; | |
# 759 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; | |
# 769 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkostemps (char *__template, int __suffixlen, int __flags) | |
__attribute__ ((__nonnull__ (1))) ; | |
# 781 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int mkostemps64 (char *__template, int __suffixlen, int __flags) | |
__attribute__ ((__nonnull__ (1))) ; | |
# 791 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int system (const char *__command) ; | |
extern char *canonicalize_file_name (const char *__name) | |
noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) | |
; | |
# 808 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern char *realpath (const char *__restrict __name, | |
char *__restrict __resolved) noexcept (true) ; | |
typedef int (*__compar_fn_t) (const void *, const void *); | |
typedef __compar_fn_t comparison_fn_t; | |
typedef int (*__compar_d_fn_t) (const void *, const void *, void *); | |
extern void *bsearch (const void *__key, const void *__base, | |
size_t __nmemb, size_t __size, __compar_fn_t __compar) | |
__attribute__ ((__nonnull__ (1, 2, 5))) ; | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdlib-bsearch.h" 1 3 | |
# 19 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdlib-bsearch.h" 3 | |
extern __inline __attribute__ ((__gnu_inline__)) void * | |
bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, | |
__compar_fn_t __compar) | |
{ | |
size_t __l, __u, __idx; | |
const void *__p; | |
int __comparison; | |
__l = 0; | |
__u = __nmemb; | |
while (__l < __u) | |
{ | |
__idx = (__l + __u) / 2; | |
__p = (const void *) (((const char *) __base) + (__idx * __size)); | |
__comparison = (*__compar) (__key, __p); | |
if (__comparison < 0) | |
__u = __idx; | |
else if (__comparison > 0) | |
__l = __idx + 1; | |
else | |
{ | |
return (void *) __p; | |
} | |
} | |
return __null; | |
} | |
# 834 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
extern void qsort (void *__base, size_t __nmemb, size_t __size, | |
__compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); | |
extern void qsort_r (void *__base, size_t __nmemb, size_t __size, | |
__compar_d_fn_t __compar, void *__arg) | |
__attribute__ ((__nonnull__ (1, 4))); | |
extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ; | |
extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ; | |
__extension__ extern long long int llabs (long long int __x) | |
noexcept (true) __attribute__ ((__const__)) ; | |
extern div_t div (int __numer, int __denom) | |
noexcept (true) __attribute__ ((__const__)) ; | |
extern ldiv_t ldiv (long int __numer, long int __denom) | |
noexcept (true) __attribute__ ((__const__)) ; | |
__extension__ extern lldiv_t lldiv (long long int __numer, | |
long long int __denom) | |
noexcept (true) __attribute__ ((__const__)) ; | |
# 880 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, | |
int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; | |
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, | |
int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; | |
extern char *gcvt (double __value, int __ndigit, char *__buf) | |
noexcept (true) __attribute__ ((__nonnull__ (3))) ; | |
extern char *qecvt (long double __value, int __ndigit, | |
int *__restrict __decpt, int *__restrict __sign) | |
noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; | |
extern char *qfcvt (long double __value, int __ndigit, | |
int *__restrict __decpt, int *__restrict __sign) | |
noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ; | |
extern char *qgcvt (long double __value, int __ndigit, char *__buf) | |
noexcept (true) __attribute__ ((__nonnull__ (3))) ; | |
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
int *__restrict __sign, char *__restrict __buf, | |
size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); | |
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
int *__restrict __sign, char *__restrict __buf, | |
size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); | |
extern int qecvt_r (long double __value, int __ndigit, | |
int *__restrict __decpt, int *__restrict __sign, | |
char *__restrict __buf, size_t __len) | |
noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); | |
extern int qfcvt_r (long double __value, int __ndigit, | |
int *__restrict __decpt, int *__restrict __sign, | |
char *__restrict __buf, size_t __len) | |
noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5))); | |
extern int mblen (const char *__s, size_t __n) noexcept (true); | |
extern int mbtowc (wchar_t *__restrict __pwc, | |
const char *__restrict __s, size_t __n) noexcept (true); | |
extern int wctomb (char *__s, wchar_t __wchar) noexcept (true); | |
extern size_t mbstowcs (wchar_t *__restrict __pwcs, | |
const char *__restrict __s, size_t __n) noexcept (true) | |
; | |
extern size_t wcstombs (char *__restrict __s, | |
const wchar_t *__restrict __pwcs, size_t __n) | |
noexcept (true) | |
; | |
extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ; | |
# 967 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
extern int getsubopt (char **__restrict __optionp, | |
char *const *__restrict __tokens, | |
char **__restrict __valuep) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ; | |
extern int posix_openpt (int __oflag) ; | |
extern int grantpt (int __fd) noexcept (true); | |
extern int unlockpt (int __fd) noexcept (true); | |
extern char *ptsname (int __fd) noexcept (true) ; | |
extern int ptsname_r (int __fd, char *__buf, size_t __buflen) | |
noexcept (true) __attribute__ ((__nonnull__ (2))) ; | |
extern int getpt (void); | |
extern int getloadavg (double __loadavg[], int __nelem) | |
noexcept (true) __attribute__ ((__nonnull__ (1))); | |
# 1023 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdlib-float.h" 1 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/stdlib-float.h" 3 | |
extern __inline __attribute__ ((__gnu_inline__)) double | |
atof (const char *__nptr) noexcept (true) | |
{ | |
return strtod (__nptr, (char **) __null); | |
} | |
# 1024 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 2 3 | |
# 1035 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/stdlib.h" 3 | |
} | |
# 95 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 2 3 | |
extern "C++" { | |
# 113 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 3 | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long abs(long __x) noexcept { | |
return __builtin_labs(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long abs(long long __x) noexcept { | |
return __builtin_llabs(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float abs(float __lcpp_x) noexcept { | |
return __builtin_fabsf(__lcpp_x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double abs(double __lcpp_x) noexcept { | |
return __builtin_fabs(__lcpp_x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double | |
abs(long double __lcpp_x) noexcept { | |
return __builtin_fabsl(__lcpp_x); | |
} | |
# 150 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 3 | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) ldiv_t div(long __x, long __y) noexcept { | |
return ::ldiv(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) lldiv_t div(long long __x, | |
long long __y) noexcept { | |
return ::lldiv(__x, __y); | |
} | |
} | |
# 317 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 2 3 | |
# 369 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 3 | |
template <class _A1, std::__enable_if_t<std::is_floating_point<_A1>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool signbit(_A1 __x) noexcept { | |
return __builtin_signbit(__x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value && std::is_signed<_A1>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool signbit(_A1 __x) noexcept { | |
return __x < 0; | |
} | |
template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value && !std::is_signed<_A1>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool signbit(_A1) noexcept { | |
return false; | |
} | |
template <class _A1, std::__enable_if_t<std::is_floating_point<_A1>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) int fpclassify(_A1 __x) noexcept { | |
return __builtin_fpclassify(0, 1, 4, 3, 2, __x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) int fpclassify(_A1 __x) noexcept { | |
return __x == 0 ? 2 : 4; | |
} | |
template <class _A1, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::numeric_limits<_A1>::has_infinity, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isfinite(_A1 __x) noexcept { | |
return __builtin_isfinite((typename std::__promote<_A1>::type)__x); | |
} | |
template <class _A1, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && !std::numeric_limits<_A1>::has_infinity, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isfinite(_A1) noexcept { | |
return true; | |
} | |
template <class _A1, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::numeric_limits<_A1>::has_infinity, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isinf(_A1 __x) noexcept { | |
return __builtin_isinf((typename std::__promote<_A1>::type)__x); | |
} | |
template <class _A1> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if< std::is_arithmetic<_A1>::value && !std::numeric_limits<_A1>::has_infinity, bool>::type | |
isinf(_A1) noexcept { | |
return false; | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isinf(float __x) noexcept { | |
return __builtin_isinf(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__enable_if__(true, ""))) bool isinf(double __x) noexcept { | |
return __builtin_isinf(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isinf(long double __x) noexcept { | |
return __builtin_isinf(__x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_floating_point<_A1>::value, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnan(_A1 __x) noexcept { | |
return __builtin_isnan(__x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnan(_A1) noexcept { | |
return false; | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnan(float __x) noexcept { | |
return __builtin_isnan(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__enable_if__(true, ""))) bool isnan(double __x) noexcept { | |
return __builtin_isnan(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnan(long double __x) noexcept { | |
return __builtin_isnan(__x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_floating_point<_A1>::value, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnormal(_A1 __x) noexcept { | |
return __builtin_isnormal(__x); | |
} | |
template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value, int> = 0> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isnormal(_A1 __x) noexcept { | |
return __x != 0; | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isgreater(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_isgreater((type)__x, (type)__y); | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isgreaterequal(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_isgreaterequal((type)__x, (type)__y); | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isless(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_isless((type)__x, (type)__y); | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool islessequal(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_islessequal((type)__x, (type)__y); | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool islessgreater(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_islessgreater((type)__x, (type)__y); | |
} | |
template <class _A1, | |
class _A2, | |
std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool isunordered(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type type; | |
return __builtin_isunordered((type)__x, (type)__y); | |
} | |
# 558 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/math.h" 3 | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float acos(float __x) noexcept {return __builtin_acosf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double acos(double __x) noexcept { | |
return __builtin_acos(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double acos(long double __x) noexcept {return __builtin_acosl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
acos(_A1 __x) noexcept {return __builtin_acos((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float asin(float __x) noexcept {return __builtin_asinf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double asin(double __x) noexcept { | |
return __builtin_asin(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double asin(long double __x) noexcept {return __builtin_asinl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
asin(_A1 __x) noexcept {return __builtin_asin((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float atan(float __x) noexcept {return __builtin_atanf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double atan(double __x) noexcept { | |
return __builtin_atan(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double atan(long double __x) noexcept {return __builtin_atanl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
atan(_A1 __x) noexcept {return __builtin_atan((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float atan2(float __y, float __x) noexcept {return __builtin_atan2f(__y, __x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double atan2(double __x, double __y) noexcept { | |
return __builtin_atan2(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double atan2(long double __y, long double __x) noexcept {return __builtin_atan2l(__y, __x);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
atan2(_A1 __y, _A2 __x) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::atan2((__result_type)__y, (__result_type)__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float ceil(float __x) noexcept {return __builtin_ceilf(__x);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double ceil(double __x) noexcept { | |
return __builtin_ceil(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double ceil(long double __x) noexcept {return __builtin_ceill(__x);} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
ceil(_A1 __x) noexcept {return __builtin_ceil((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float cos(float __x) noexcept {return __builtin_cosf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double cos(double __x) noexcept { | |
return __builtin_cos(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double cos(long double __x) noexcept {return __builtin_cosl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
cos(_A1 __x) noexcept {return __builtin_cos((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float cosh(float __x) noexcept {return __builtin_coshf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double cosh(double __x) noexcept { | |
return __builtin_cosh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double cosh(long double __x) noexcept {return __builtin_coshl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
cosh(_A1 __x) noexcept {return __builtin_cosh((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float exp(float __x) noexcept {return __builtin_expf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double exp(double __x) noexcept { | |
return __builtin_exp(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double exp(long double __x) noexcept {return __builtin_expl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
exp(_A1 __x) noexcept {return __builtin_exp((double)__x);} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fabs(float __x) noexcept {return __builtin_fabsf(__x);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fabs(double __x) noexcept { | |
return __builtin_fabs(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fabs(long double __x) noexcept {return __builtin_fabsl(__x);} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
fabs(_A1 __x) noexcept {return __builtin_fabs((double)__x);} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float floor(float __x) noexcept {return __builtin_floorf(__x);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double floor(double __x) noexcept { | |
return __builtin_floor(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double floor(long double __x) noexcept {return __builtin_floorl(__x);} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
floor(_A1 __x) noexcept {return __builtin_floor((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fmod(float __x, float __y) noexcept {return __builtin_fmodf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fmod(double __x, double __y) noexcept { | |
return __builtin_fmod(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fmod(long double __x, long double __y) noexcept {return __builtin_fmodl(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
fmod(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::fmod((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float frexp(float __x, int* __e) noexcept {return __builtin_frexpf(__x, __e);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double frexp(double __x, int* __e) noexcept { | |
return __builtin_frexp(__x, __e); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double frexp(long double __x, int* __e) noexcept {return __builtin_frexpl(__x, __e);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
frexp(_A1 __x, int* __e) noexcept {return __builtin_frexp((double)__x, __e);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float ldexp(float __x, int __e) noexcept {return __builtin_ldexpf(__x, __e);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double ldexp(double __x, int __e) noexcept { | |
return __builtin_ldexp(__x, __e); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double ldexp(long double __x, int __e) noexcept {return __builtin_ldexpl(__x, __e);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
ldexp(_A1 __x, int __e) noexcept {return __builtin_ldexp((double)__x, __e);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float log(float __x) noexcept {return __builtin_logf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double log(double __x) noexcept { | |
return __builtin_log(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double log(long double __x) noexcept {return __builtin_logl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
log(_A1 __x) noexcept {return __builtin_log((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float log10(float __x) noexcept {return __builtin_log10f(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double log10(double __x) noexcept { | |
return __builtin_log10(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double log10(long double __x) noexcept {return __builtin_log10l(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
log10(_A1 __x) noexcept {return __builtin_log10((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float modf(float __x, float* __y) noexcept {return __builtin_modff(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double modf(double __x, double* __y) noexcept { | |
return __builtin_modf(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double modf(long double __x, long double* __y) noexcept {return __builtin_modfl(__x, __y);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float pow(float __x, float __y) noexcept {return __builtin_powf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double pow(double __x, double __y) noexcept { | |
return __builtin_pow(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double pow(long double __x, long double __y) noexcept {return __builtin_powl(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
pow(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::pow((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float sin(float __x) noexcept {return __builtin_sinf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double sin(double __x) noexcept { | |
return __builtin_sin(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double sin(long double __x) noexcept {return __builtin_sinl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
sin(_A1 __x) noexcept {return __builtin_sin((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float sinh(float __x) noexcept {return __builtin_sinhf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double sinh(double __x) noexcept { | |
return __builtin_sinh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double sinh(long double __x) noexcept {return __builtin_sinhl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
sinh(_A1 __x) noexcept {return __builtin_sinh((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float sqrt(float __x) noexcept {return __builtin_sqrtf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double sqrt(double __x) noexcept { | |
return __builtin_sqrt(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double sqrt(long double __x) noexcept {return __builtin_sqrtl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
sqrt(_A1 __x) noexcept {return __builtin_sqrt((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float tan(float __x) noexcept {return __builtin_tanf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double tan(double __x) noexcept { | |
return __builtin_tan(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double tan(long double __x) noexcept {return __builtin_tanl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
tan(_A1 __x) noexcept {return __builtin_tan((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float tanh(float __x) noexcept {return __builtin_tanhf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double tanh(double __x) noexcept { | |
return __builtin_tanh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double tanh(long double __x) noexcept {return __builtin_tanhl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
tanh(_A1 __x) noexcept {return __builtin_tanh((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float acosh(float __x) noexcept {return __builtin_acoshf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double acosh(double __x) noexcept { | |
return __builtin_acosh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double acosh(long double __x) noexcept {return __builtin_acoshl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
acosh(_A1 __x) noexcept {return __builtin_acosh((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float asinh(float __x) noexcept {return __builtin_asinhf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double asinh(double __x) noexcept { | |
return __builtin_asinh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double asinh(long double __x) noexcept {return __builtin_asinhl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
asinh(_A1 __x) noexcept {return __builtin_asinh((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float atanh(float __x) noexcept {return __builtin_atanhf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double atanh(double __x) noexcept { | |
return __builtin_atanh(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double atanh(long double __x) noexcept {return __builtin_atanhl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
atanh(_A1 __x) noexcept {return __builtin_atanh((double)__x);} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float cbrt(float __x) noexcept {return __builtin_cbrtf(__x);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double cbrt(double __x) noexcept { | |
return __builtin_cbrt(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double cbrt(long double __x) noexcept {return __builtin_cbrtl(__x);} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
cbrt(_A1 __x) noexcept {return __builtin_cbrt((double)__x);} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float copysign(float __x, float __y) noexcept { | |
return ::__builtin_copysignf(__x, __y); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double copysign(long double __x, long double __y) noexcept { | |
return ::__builtin_copysignl(__x, __y); | |
} | |
template <class _A1, class _A2> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
copysign(_A1 __x, _A2 __y) noexcept { | |
return ::__builtin_copysign(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float erf(float __x) noexcept {return __builtin_erff(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double erf(double __x) noexcept { | |
return __builtin_erf(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double erf(long double __x) noexcept {return __builtin_erfl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
erf(_A1 __x) noexcept {return __builtin_erf((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float erfc(float __x) noexcept {return __builtin_erfcf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double erfc(double __x) noexcept { | |
return __builtin_erfc(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double erfc(long double __x) noexcept {return __builtin_erfcl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
erfc(_A1 __x) noexcept {return __builtin_erfc((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float exp2(float __x) noexcept {return __builtin_exp2f(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double exp2(double __x) noexcept { | |
return __builtin_exp2(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double exp2(long double __x) noexcept {return __builtin_exp2l(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
exp2(_A1 __x) noexcept {return __builtin_exp2((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float expm1(float __x) noexcept {return __builtin_expm1f(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double expm1(double __x) noexcept { | |
return __builtin_expm1(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double expm1(long double __x) noexcept {return __builtin_expm1l(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
expm1(_A1 __x) noexcept {return __builtin_expm1((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fdim(float __x, float __y) noexcept {return __builtin_fdimf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fdim(double __x, double __y) noexcept { | |
return __builtin_fdim(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fdim(long double __x, long double __y) noexcept {return __builtin_fdiml(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
fdim(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::fdim((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fma(float __x, float __y, float __z) noexcept | |
{ | |
return __builtin_fmaf(__x, __y, __z); | |
} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fma(double __x, double __y, double __z) noexcept { | |
return __builtin_fma(__x, __y, __z); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fma(long double __x, long double __y, long double __z) noexcept | |
{ | |
return __builtin_fmal(__x, __y, __z); | |
} | |
template <class _A1, class _A2, class _A3> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value && | |
std::is_arithmetic<_A3>::value, | |
std::__promote<_A1, _A2, _A3> | |
>::type | |
fma(_A1 __x, _A2 __y, _A3 __z) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2, _A3>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value && | |
std::_IsSame<_A3, __result_type>::value)), ""); | |
return __builtin_fma((__result_type)__x, (__result_type)__y, (__result_type)__z); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fmax(float __x, float __y) noexcept {return __builtin_fmaxf(__x, __y);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fmax(double __x, double __y) noexcept { | |
return __builtin_fmax(__x, __y); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fmax(long double __x, long double __y) noexcept {return __builtin_fmaxl(__x, __y);} | |
template <class _A1, class _A2> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
fmax(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::fmax((__result_type)__x, (__result_type)__y); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float fmin(float __x, float __y) noexcept {return __builtin_fminf(__x, __y);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double fmin(double __x, double __y) noexcept { | |
return __builtin_fmin(__x, __y); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double fmin(long double __x, long double __y) noexcept {return __builtin_fminl(__x, __y);} | |
template <class _A1, class _A2> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
fmin(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::fmin((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float hypot(float __x, float __y) noexcept {return __builtin_hypotf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double hypot(double __x, double __y) noexcept { | |
return __builtin_hypot(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double hypot(long double __x, long double __y) noexcept {return __builtin_hypotl(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
hypot(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::hypot((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) int ilogb(float __x) noexcept {return __builtin_ilogbf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double ilogb(double __x) noexcept { | |
return __builtin_ilogb(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) int ilogb(long double __x) noexcept {return __builtin_ilogbl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, int>::type | |
ilogb(_A1 __x) noexcept {return __builtin_ilogb((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float lgamma(float __x) noexcept {return __builtin_lgammaf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double lgamma(double __x) noexcept { | |
return __builtin_lgamma(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double lgamma(long double __x) noexcept {return __builtin_lgammal(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
lgamma(_A1 __x) noexcept {return __builtin_lgamma((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llrint(float __x) noexcept | |
{ | |
return __builtin_llrintf(__x); | |
} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llrint(double __x) noexcept { | |
return __builtin_llrint(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llrint(long double __x) noexcept | |
{ | |
return __builtin_llrintl(__x); | |
} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, long long>::type | |
llrint(_A1 __x) noexcept | |
{ | |
return __builtin_llrint((double)__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llround(float __x) noexcept | |
{ | |
return __builtin_llroundf(__x); | |
} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llround(double __x) noexcept { | |
return __builtin_llround(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long long llround(long double __x) noexcept | |
{ | |
return __builtin_llroundl(__x); | |
} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, long long>::type | |
llround(_A1 __x) noexcept | |
{ | |
return __builtin_llround((double)__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float log1p(float __x) noexcept {return __builtin_log1pf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double log1p(double __x) noexcept { | |
return __builtin_log1p(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double log1p(long double __x) noexcept {return __builtin_log1pl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
log1p(_A1 __x) noexcept {return __builtin_log1p((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float log2(float __x) noexcept {return __builtin_log2f(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double log2(double __x) noexcept { | |
return __builtin_log2(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double log2(long double __x) noexcept {return __builtin_log2l(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
log2(_A1 __x) noexcept {return __builtin_log2((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float logb(float __x) noexcept {return __builtin_logbf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double logb(double __x) noexcept { | |
return __builtin_logb(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double logb(long double __x) noexcept {return __builtin_logbl(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
logb(_A1 __x) noexcept {return __builtin_logb((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lrint(float __x) noexcept | |
{ | |
return __builtin_lrintf(__x); | |
} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lrint(double __x) noexcept { | |
return __builtin_lrint(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lrint(long double __x) noexcept | |
{ | |
return __builtin_lrintl(__x); | |
} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, long>::type | |
lrint(_A1 __x) noexcept | |
{ | |
return __builtin_lrint((double)__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lround(float __x) noexcept | |
{ | |
return __builtin_lroundf(__x); | |
} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lround(double __x) noexcept { | |
return __builtin_lround(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long lround(long double __x) noexcept | |
{ | |
return __builtin_lroundl(__x); | |
} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, long>::type | |
lround(_A1 __x) noexcept | |
{ | |
return __builtin_lround((double)__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float nearbyint(float __x) noexcept {return __builtin_nearbyintf(__x);} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double nearbyint(double __x) noexcept { | |
return __builtin_nearbyint(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double nearbyint(long double __x) noexcept {return __builtin_nearbyintl(__x);} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
nearbyint(_A1 __x) noexcept {return __builtin_nearbyint((double)__x);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float nextafter(float __x, float __y) noexcept {return __builtin_nextafterf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double nextafter(double __x, double __y) noexcept { | |
return __builtin_nextafter(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double nextafter(long double __x, long double __y) noexcept {return __builtin_nextafterl(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
nextafter(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::nextafter((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float nexttoward(float __x, long double __y) noexcept {return __builtin_nexttowardf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double nexttoward(double __x, long double __y) noexcept { | |
return __builtin_nexttoward(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double nexttoward(long double __x, long double __y) noexcept {return __builtin_nexttowardl(__x, __y);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
nexttoward(_A1 __x, long double __y) noexcept {return __builtin_nexttoward((double)__x, __y);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float remainder(float __x, float __y) noexcept {return __builtin_remainderf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double remainder(double __x, double __y) noexcept { | |
return __builtin_remainder(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double remainder(long double __x, long double __y) noexcept {return __builtin_remainderl(__x, __y);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
remainder(_A1 __x, _A2 __y) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::remainder((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float remquo(float __x, float __y, int* __z) noexcept {return __builtin_remquof(__x, __y, __z);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double remquo(double __x, double __y, int* __z) noexcept { | |
return __builtin_remquo(__x, __y, __z); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double remquo(long double __x, long double __y, int* __z) noexcept {return __builtin_remquol(__x, __y, __z);} | |
template <class _A1, class _A2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t | |
< | |
std::is_arithmetic<_A1>::value && | |
std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> | |
>::type | |
remquo(_A1 __x, _A2 __y, int* __z) noexcept | |
{ | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && | |
std::_IsSame<_A2, __result_type>::value)), ""); | |
return ::remquo((__result_type)__x, (__result_type)__y, __z); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float rint(float __x) noexcept | |
{ | |
return __builtin_rintf(__x); | |
} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double rint(double __x) noexcept { | |
return __builtin_rint(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double rint(long double __x) noexcept | |
{ | |
return __builtin_rintl(__x); | |
} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
rint(_A1 __x) noexcept | |
{ | |
return __builtin_rint((double)__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float round(float __x) noexcept | |
{ | |
return __builtin_round(__x); | |
} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double round(double __x) noexcept { | |
return __builtin_round(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double round(long double __x) noexcept | |
{ | |
return __builtin_roundl(__x); | |
} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
round(_A1 __x) noexcept | |
{ | |
return __builtin_round((double)__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float scalbln(float __x, long __y) noexcept {return __builtin_scalblnf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double scalbln(double __x, long __y) noexcept { | |
return __builtin_scalbln(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double scalbln(long double __x, long __y) noexcept {return __builtin_scalblnl(__x, __y);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
scalbln(_A1 __x, long __y) noexcept {return __builtin_scalbln((double)__x, __y);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float scalbn(float __x, int __y) noexcept {return __builtin_scalbnf(__x, __y);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double scalbn(double __x, int __y) noexcept { | |
return __builtin_scalbn(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double scalbn(long double __x, int __y) noexcept {return __builtin_scalbnl(__x, __y);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
scalbn(_A1 __x, int __y) noexcept {return __builtin_scalbn((double)__x, __y);} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float tgamma(float __x) noexcept {return __builtin_tgammaf(__x);} | |
template <class = int> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double tgamma(double __x) noexcept { | |
return __builtin_tgamma(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double tgamma(long double __x) noexcept {return __builtin_tgammal(__x);} | |
template <class _A1> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
tgamma(_A1 __x) noexcept {return __builtin_tgamma((double)__x);} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float trunc(float __x) noexcept | |
{ | |
return __builtin_trunc(__x); | |
} | |
template <class = int> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double trunc(double __x) noexcept { | |
return __builtin_trunc(__x); | |
} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double trunc(long double __x) noexcept | |
{ | |
return __builtin_truncl(__x); | |
} | |
template <class _A1> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::enable_if<std::is_integral<_A1>::value, double>::type | |
trunc(_A1 __x) noexcept | |
{ | |
return __builtin_trunc((double)__x); | |
} | |
} | |
# 319 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 2 3 | |
# 330 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 334 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 2 3 | |
namespace std { inline namespace __1 { | |
using ::signbit __attribute__((__using_if_exists__)); | |
using ::fpclassify __attribute__((__using_if_exists__)); | |
using ::isfinite __attribute__((__using_if_exists__)); | |
using ::isinf __attribute__((__using_if_exists__)); | |
using ::isnan __attribute__((__using_if_exists__)); | |
using ::isnormal __attribute__((__using_if_exists__)); | |
using ::isgreater __attribute__((__using_if_exists__)); | |
using ::isgreaterequal __attribute__((__using_if_exists__)); | |
using ::isless __attribute__((__using_if_exists__)); | |
using ::islessequal __attribute__((__using_if_exists__)); | |
using ::islessgreater __attribute__((__using_if_exists__)); | |
using ::isunordered __attribute__((__using_if_exists__)); | |
using ::isunordered __attribute__((__using_if_exists__)); | |
using ::float_t __attribute__((__using_if_exists__)); | |
using ::double_t __attribute__((__using_if_exists__)); | |
using ::abs __attribute__((__using_if_exists__)); | |
using ::acos __attribute__((__using_if_exists__)); | |
using ::acosf __attribute__((__using_if_exists__)); | |
using ::asin __attribute__((__using_if_exists__)); | |
using ::asinf __attribute__((__using_if_exists__)); | |
using ::atan __attribute__((__using_if_exists__)); | |
using ::atanf __attribute__((__using_if_exists__)); | |
using ::atan2 __attribute__((__using_if_exists__)); | |
using ::atan2f __attribute__((__using_if_exists__)); | |
using ::ceil __attribute__((__using_if_exists__)); | |
using ::ceilf __attribute__((__using_if_exists__)); | |
using ::cos __attribute__((__using_if_exists__)); | |
using ::cosf __attribute__((__using_if_exists__)); | |
using ::cosh __attribute__((__using_if_exists__)); | |
using ::coshf __attribute__((__using_if_exists__)); | |
using ::exp __attribute__((__using_if_exists__)); | |
using ::expf __attribute__((__using_if_exists__)); | |
using ::fabs __attribute__((__using_if_exists__)); | |
using ::fabsf __attribute__((__using_if_exists__)); | |
using ::floor __attribute__((__using_if_exists__)); | |
using ::floorf __attribute__((__using_if_exists__)); | |
using ::fmod __attribute__((__using_if_exists__)); | |
using ::fmodf __attribute__((__using_if_exists__)); | |
using ::frexp __attribute__((__using_if_exists__)); | |
using ::frexpf __attribute__((__using_if_exists__)); | |
using ::ldexp __attribute__((__using_if_exists__)); | |
using ::ldexpf __attribute__((__using_if_exists__)); | |
using ::log __attribute__((__using_if_exists__)); | |
using ::logf __attribute__((__using_if_exists__)); | |
using ::log10 __attribute__((__using_if_exists__)); | |
using ::log10f __attribute__((__using_if_exists__)); | |
using ::modf __attribute__((__using_if_exists__)); | |
using ::modff __attribute__((__using_if_exists__)); | |
using ::pow __attribute__((__using_if_exists__)); | |
using ::powf __attribute__((__using_if_exists__)); | |
using ::sin __attribute__((__using_if_exists__)); | |
using ::sinf __attribute__((__using_if_exists__)); | |
using ::sinh __attribute__((__using_if_exists__)); | |
using ::sinhf __attribute__((__using_if_exists__)); | |
using ::sqrt __attribute__((__using_if_exists__)); | |
using ::sqrtf __attribute__((__using_if_exists__)); | |
using ::tan __attribute__((__using_if_exists__)); | |
using ::tanf __attribute__((__using_if_exists__)); | |
using ::tanh __attribute__((__using_if_exists__)); | |
using ::tanhf __attribute__((__using_if_exists__)); | |
using ::acosh __attribute__((__using_if_exists__)); | |
using ::acoshf __attribute__((__using_if_exists__)); | |
using ::asinh __attribute__((__using_if_exists__)); | |
using ::asinhf __attribute__((__using_if_exists__)); | |
using ::atanh __attribute__((__using_if_exists__)); | |
using ::atanhf __attribute__((__using_if_exists__)); | |
using ::cbrt __attribute__((__using_if_exists__)); | |
using ::cbrtf __attribute__((__using_if_exists__)); | |
using ::copysign __attribute__((__using_if_exists__)); | |
using ::copysignf __attribute__((__using_if_exists__)); | |
using ::erf __attribute__((__using_if_exists__)); | |
using ::erff __attribute__((__using_if_exists__)); | |
using ::erfc __attribute__((__using_if_exists__)); | |
using ::erfcf __attribute__((__using_if_exists__)); | |
using ::exp2 __attribute__((__using_if_exists__)); | |
using ::exp2f __attribute__((__using_if_exists__)); | |
using ::expm1 __attribute__((__using_if_exists__)); | |
using ::expm1f __attribute__((__using_if_exists__)); | |
using ::fdim __attribute__((__using_if_exists__)); | |
using ::fdimf __attribute__((__using_if_exists__)); | |
using ::fmaf __attribute__((__using_if_exists__)); | |
using ::fma __attribute__((__using_if_exists__)); | |
using ::fmax __attribute__((__using_if_exists__)); | |
using ::fmaxf __attribute__((__using_if_exists__)); | |
using ::fmin __attribute__((__using_if_exists__)); | |
using ::fminf __attribute__((__using_if_exists__)); | |
using ::hypot __attribute__((__using_if_exists__)); | |
using ::hypotf __attribute__((__using_if_exists__)); | |
using ::ilogb __attribute__((__using_if_exists__)); | |
using ::ilogbf __attribute__((__using_if_exists__)); | |
using ::lgamma __attribute__((__using_if_exists__)); | |
using ::lgammaf __attribute__((__using_if_exists__)); | |
using ::llrint __attribute__((__using_if_exists__)); | |
using ::llrintf __attribute__((__using_if_exists__)); | |
using ::llround __attribute__((__using_if_exists__)); | |
using ::llroundf __attribute__((__using_if_exists__)); | |
using ::log1p __attribute__((__using_if_exists__)); | |
using ::log1pf __attribute__((__using_if_exists__)); | |
using ::log2 __attribute__((__using_if_exists__)); | |
using ::log2f __attribute__((__using_if_exists__)); | |
using ::logb __attribute__((__using_if_exists__)); | |
using ::logbf __attribute__((__using_if_exists__)); | |
using ::lrint __attribute__((__using_if_exists__)); | |
using ::lrintf __attribute__((__using_if_exists__)); | |
using ::lround __attribute__((__using_if_exists__)); | |
using ::lroundf __attribute__((__using_if_exists__)); | |
using ::nan __attribute__((__using_if_exists__)); | |
using ::nanf __attribute__((__using_if_exists__)); | |
using ::nearbyint __attribute__((__using_if_exists__)); | |
using ::nearbyintf __attribute__((__using_if_exists__)); | |
using ::nextafter __attribute__((__using_if_exists__)); | |
using ::nextafterf __attribute__((__using_if_exists__)); | |
using ::nexttoward __attribute__((__using_if_exists__)); | |
using ::nexttowardf __attribute__((__using_if_exists__)); | |
using ::remainder __attribute__((__using_if_exists__)); | |
using ::remainderf __attribute__((__using_if_exists__)); | |
using ::remquo __attribute__((__using_if_exists__)); | |
using ::remquof __attribute__((__using_if_exists__)); | |
using ::rint __attribute__((__using_if_exists__)); | |
using ::rintf __attribute__((__using_if_exists__)); | |
using ::round __attribute__((__using_if_exists__)); | |
using ::roundf __attribute__((__using_if_exists__)); | |
using ::scalbln __attribute__((__using_if_exists__)); | |
using ::scalblnf __attribute__((__using_if_exists__)); | |
using ::scalbn __attribute__((__using_if_exists__)); | |
using ::scalbnf __attribute__((__using_if_exists__)); | |
using ::tgamma __attribute__((__using_if_exists__)); | |
using ::tgammaf __attribute__((__using_if_exists__)); | |
using ::trunc __attribute__((__using_if_exists__)); | |
using ::truncf __attribute__((__using_if_exists__)); | |
using ::acosl __attribute__((__using_if_exists__)); | |
using ::asinl __attribute__((__using_if_exists__)); | |
using ::atanl __attribute__((__using_if_exists__)); | |
using ::atan2l __attribute__((__using_if_exists__)); | |
using ::ceill __attribute__((__using_if_exists__)); | |
using ::cosl __attribute__((__using_if_exists__)); | |
using ::coshl __attribute__((__using_if_exists__)); | |
using ::expl __attribute__((__using_if_exists__)); | |
using ::fabsl __attribute__((__using_if_exists__)); | |
using ::floorl __attribute__((__using_if_exists__)); | |
using ::fmodl __attribute__((__using_if_exists__)); | |
using ::frexpl __attribute__((__using_if_exists__)); | |
using ::ldexpl __attribute__((__using_if_exists__)); | |
using ::logl __attribute__((__using_if_exists__)); | |
using ::log10l __attribute__((__using_if_exists__)); | |
using ::modfl __attribute__((__using_if_exists__)); | |
using ::powl __attribute__((__using_if_exists__)); | |
using ::sinl __attribute__((__using_if_exists__)); | |
using ::sinhl __attribute__((__using_if_exists__)); | |
using ::sqrtl __attribute__((__using_if_exists__)); | |
using ::tanl __attribute__((__using_if_exists__)); | |
using ::tanhl __attribute__((__using_if_exists__)); | |
using ::acoshl __attribute__((__using_if_exists__)); | |
using ::asinhl __attribute__((__using_if_exists__)); | |
using ::atanhl __attribute__((__using_if_exists__)); | |
using ::cbrtl __attribute__((__using_if_exists__)); | |
using ::copysignl __attribute__((__using_if_exists__)); | |
using ::erfl __attribute__((__using_if_exists__)); | |
using ::erfcl __attribute__((__using_if_exists__)); | |
using ::exp2l __attribute__((__using_if_exists__)); | |
using ::expm1l __attribute__((__using_if_exists__)); | |
using ::fdiml __attribute__((__using_if_exists__)); | |
using ::fmal __attribute__((__using_if_exists__)); | |
using ::fmaxl __attribute__((__using_if_exists__)); | |
using ::fminl __attribute__((__using_if_exists__)); | |
using ::hypotl __attribute__((__using_if_exists__)); | |
using ::ilogbl __attribute__((__using_if_exists__)); | |
using ::lgammal __attribute__((__using_if_exists__)); | |
using ::llrintl __attribute__((__using_if_exists__)); | |
using ::llroundl __attribute__((__using_if_exists__)); | |
using ::log1pl __attribute__((__using_if_exists__)); | |
using ::log2l __attribute__((__using_if_exists__)); | |
using ::logbl __attribute__((__using_if_exists__)); | |
using ::lrintl __attribute__((__using_if_exists__)); | |
using ::lroundl __attribute__((__using_if_exists__)); | |
using ::nanl __attribute__((__using_if_exists__)); | |
using ::nearbyintl __attribute__((__using_if_exists__)); | |
using ::nextafterl __attribute__((__using_if_exists__)); | |
using ::nexttowardl __attribute__((__using_if_exists__)); | |
using ::remainderl __attribute__((__using_if_exists__)); | |
using ::remquol __attribute__((__using_if_exists__)); | |
using ::rintl __attribute__((__using_if_exists__)); | |
using ::roundl __attribute__((__using_if_exists__)); | |
using ::scalblnl __attribute__((__using_if_exists__)); | |
using ::scalbnl __attribute__((__using_if_exists__)); | |
using ::tgammal __attribute__((__using_if_exists__)); | |
using ::truncl __attribute__((__using_if_exists__)); | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float hypot( float __x, float __y, float __z ) { return sqrt(__x*__x + __y*__y + __z*__z); } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double hypot( double __x, double __y, double __z ) { return sqrt(__x*__x + __y*__y + __z*__z); } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double hypot( long double __x, long double __y, long double __z ) { return sqrt(__x*__x + __y*__y + __z*__z); } | |
template <class _A1, class _A2, class _A3> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename enable_if_t | |
< | |
is_arithmetic<_A1>::value && | |
is_arithmetic<_A2>::value && | |
is_arithmetic<_A3>::value, | |
__promote<_A1, _A2, _A3> | |
>::type | |
hypot(_A1 __lcpp_x, _A2 __lcpp_y, _A3 __lcpp_z) noexcept | |
{ | |
typedef typename __promote<_A1, _A2, _A3>::type __result_type; | |
static_assert((!(is_same<_A1, __result_type>::value && | |
is_same<_A2, __result_type>::value && | |
is_same<_A3, __result_type>::value)), ""); | |
return std::hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<is_floating_point<_A1>::value, bool>::type | |
__constexpr_isnan(_A1 __lcpp_x) noexcept | |
{ | |
return __builtin_isnan(__lcpp_x); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<!is_floating_point<_A1>::value, bool>::type | |
__constexpr_isnan(_A1 __lcpp_x) noexcept | |
{ | |
return std::isnan(__lcpp_x); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<is_floating_point<_A1>::value, bool>::type | |
__constexpr_isinf(_A1 __lcpp_x) noexcept | |
{ | |
return __builtin_isinf(__lcpp_x); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<!is_floating_point<_A1>::value, bool>::type | |
__constexpr_isinf(_A1 __lcpp_x) noexcept | |
{ | |
return std::isinf(__lcpp_x); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<is_floating_point<_A1>::value, bool>::type | |
__constexpr_isfinite(_A1 __lcpp_x) noexcept | |
{ | |
return __builtin_isfinite(__lcpp_x); | |
} | |
template <class _A1> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr typename enable_if<!is_floating_point<_A1>::value, bool>::type | |
__constexpr_isfinite(_A1 __lcpp_x) noexcept | |
{ | |
return __builtin_isfinite(__lcpp_x); | |
} | |
constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) float __constexpr_copysign(float __x, float __y) noexcept { | |
return __builtin_copysignf(__x, __y); | |
} | |
constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) double __constexpr_copysign(double __x, double __y) noexcept { | |
return __builtin_copysign(__x, __y); | |
} | |
constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) long double | |
__constexpr_copysign(long double __x, long double __y) noexcept { | |
return __builtin_copysignl(__x, __y); | |
} | |
template <class _A1, class _A2> | |
constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename std::__enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, | |
std::__promote<_A1, _A2> >::type | |
__constexpr_copysign(_A1 __x, _A2 __y) noexcept { | |
typedef typename std::__promote<_A1, _A2>::type __result_type; | |
static_assert((!(std::_IsSame<_A1, __result_type>::value && std::_IsSame<_A2, __result_type>::value)), ""); | |
return __builtin_copysign((__result_type)__x, (__result_type)__y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr float __constexpr_fabs(float __x) noexcept { | |
return __builtin_fabsf(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr double __constexpr_fabs(double __x) noexcept { | |
return __builtin_fabs(__x); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr long double __constexpr_fabs(long double __x) noexcept { | |
return __builtin_fabsl(__x); | |
} | |
template <class _Tp, __enable_if_t<is_integral<_Tp>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr double __constexpr_fabs(_Tp __x) noexcept { | |
return __builtin_fabs(static_cast<double>(__x)); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr float __constexpr_fmax(float __x, float __y) noexcept { | |
# 681 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
return __builtin_fmaxf(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr double __constexpr_fmax(double __x, double __y) noexcept { | |
# 694 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
return __builtin_fmax(__x, __y); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr long double | |
__constexpr_fmax(long double __x, long double __y) noexcept { | |
# 708 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
return __builtin_fmaxl(__x, __y); | |
} | |
template <class _Tp, class _Up, __enable_if_t<is_arithmetic<_Tp>::value && is_arithmetic<_Up>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr typename __promote<_Tp, _Up>::type | |
__constexpr_fmax(_Tp __x, _Up __y) noexcept { | |
using __result_type = typename __promote<_Tp, _Up>::type; | |
return std::__constexpr_fmax(static_cast<__result_type>(__x), static_cast<__result_type>(__y)); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Tp __constexpr_logb(_Tp __x) { | |
if (__libcpp_is_constant_evaluated()) { | |
if (__x == _Tp(0)) { | |
return -numeric_limits<_Tp>::infinity(); | |
} | |
if (std::__constexpr_isinf(__x)) | |
return numeric_limits<_Tp>::infinity(); | |
if (std::__constexpr_isnan(__x)) | |
return numeric_limits<_Tp>::quiet_NaN(); | |
__x = std::__constexpr_fabs(__x); | |
unsigned long long __exp = 0; | |
while (__x >= numeric_limits<_Tp>::radix) { | |
__x /= numeric_limits<_Tp>::radix; | |
__exp += 1; | |
} | |
return _Tp(__exp); | |
} | |
return __builtin_logb(__x); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _Tp __constexpr_scalbn(_Tp __x, int __exp) { | |
if (__libcpp_is_constant_evaluated()) { | |
if (__x == _Tp(0)) | |
return __x; | |
if (std::__constexpr_isinf(__x)) | |
return __x; | |
if (__exp == _Tp(0)) | |
return __x; | |
if (std::__constexpr_isnan(__x)) | |
return numeric_limits<_Tp>::quiet_NaN(); | |
_Tp __mult(1); | |
if (__exp > 0) { | |
__mult = numeric_limits<_Tp>::radix; | |
--__exp; | |
} else { | |
++__exp; | |
__exp = -__exp; | |
__mult /= numeric_limits<_Tp>::radix; | |
} | |
while (__exp > 0) { | |
if (!(__exp & 1)) { | |
__mult *= __mult; | |
__exp >>= 1; | |
} else { | |
__x *= __mult; | |
--__exp; | |
} | |
} | |
return __x; | |
} | |
return __builtin_scalbn(__x, __exp); | |
} | |
# 829 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cmath" 3 | |
}} | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 2 3 | |
# 26 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 2 3 | |
namespace std { inline namespace __1 { | |
# 135 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/strong_order.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/weak_order.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/weak_order.h" 3 | |
namespace std { inline namespace __1 { | |
# 100 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/weak_order.h" 3 | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 3 | |
namespace std { inline namespace __1 { | |
# 72 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/partial_order.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_partial_order_fallback.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 | |
namespace std { inline namespace __1 { | |
# 72 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 | |
}} | |
# 146 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_strong_order_fallback.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_strong_order_fallback.h" 3 | |
namespace std { inline namespace __1 { | |
# 69 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_strong_order_fallback.h" 3 | |
}} | |
# 147 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way_result.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way_result.h" 3 | |
namespace std { inline namespace __1 { | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_three_way_result.h" 3 | |
}} | |
# 149 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_weak_order_fallback.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_weak_order_fallback.h" 3 | |
namespace std { inline namespace __1 { | |
# 69 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/compare_weak_order_fallback.h" 3 | |
}} | |
# 150 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/is_eq.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/is_eq.h" 3 | |
namespace std { inline namespace __1 { | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__compare/is_eq.h" 3 | |
}} | |
# 151 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 2 3 | |
# 161 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/compare" 3 | |
# 266 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/initializer_list" 1 3 | |
# 51 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/initializer_list" 3 | |
namespace std | |
{ | |
template<class _Ep> | |
class __attribute__((__type_visibility__("default"))) initializer_list | |
{ | |
const _Ep* __begin_; | |
size_t __size_; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
initializer_list(const _Ep* __b, size_t __s) noexcept | |
: __begin_(__b), | |
__size_(__s) | |
{} | |
public: | |
typedef _Ep value_type; | |
typedef const _Ep& reference; | |
typedef const _Ep& const_reference; | |
typedef size_t size_type; | |
typedef const _Ep* iterator; | |
typedef const _Ep* const_iterator; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
initializer_list() noexcept : __begin_(nullptr), __size_(0) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
size_t size() const noexcept {return __size_;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
const _Ep* begin() const noexcept {return __begin_;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
const _Ep* end() const noexcept {return __begin_ + __size_;} | |
}; | |
template<class _Ep> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
const _Ep* | |
begin(initializer_list<_Ep> __il) noexcept | |
{ | |
return __il.begin(); | |
} | |
template<class _Ep> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr | |
const _Ep* | |
end(initializer_list<_Ep> __il) noexcept | |
{ | |
return __il.end(); | |
} | |
} | |
# 267 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 274 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdlib" 1 3 | |
# 87 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdlib" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h" 1 3 | |
# 88 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdlib" 2 3 | |
# 99 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstdlib" 3 | |
namespace std { inline namespace __1 { | |
using ::size_t __attribute__((__using_if_exists__)); | |
using ::div_t __attribute__((__using_if_exists__)); | |
using ::ldiv_t __attribute__((__using_if_exists__)); | |
using ::lldiv_t __attribute__((__using_if_exists__)); | |
using ::atof __attribute__((__using_if_exists__)); | |
using ::atoi __attribute__((__using_if_exists__)); | |
using ::atol __attribute__((__using_if_exists__)); | |
using ::atoll __attribute__((__using_if_exists__)); | |
using ::strtod __attribute__((__using_if_exists__)); | |
using ::strtof __attribute__((__using_if_exists__)); | |
using ::strtold __attribute__((__using_if_exists__)); | |
using ::strtol __attribute__((__using_if_exists__)); | |
using ::strtoll __attribute__((__using_if_exists__)); | |
using ::strtoul __attribute__((__using_if_exists__)); | |
using ::strtoull __attribute__((__using_if_exists__)); | |
using ::rand __attribute__((__using_if_exists__)); | |
using ::srand __attribute__((__using_if_exists__)); | |
using ::calloc __attribute__((__using_if_exists__)); | |
using ::free __attribute__((__using_if_exists__)); | |
using ::malloc __attribute__((__using_if_exists__)); | |
using ::realloc __attribute__((__using_if_exists__)); | |
using ::abort __attribute__((__using_if_exists__)); | |
using ::atexit __attribute__((__using_if_exists__)); | |
using ::exit __attribute__((__using_if_exists__)); | |
using ::_Exit __attribute__((__using_if_exists__)); | |
using ::getenv __attribute__((__using_if_exists__)); | |
using ::system __attribute__((__using_if_exists__)); | |
using ::bsearch __attribute__((__using_if_exists__)); | |
using ::qsort __attribute__((__using_if_exists__)); | |
using ::abs __attribute__((__using_if_exists__)); | |
using ::labs __attribute__((__using_if_exists__)); | |
using ::llabs __attribute__((__using_if_exists__)); | |
using ::div __attribute__((__using_if_exists__)); | |
using ::ldiv __attribute__((__using_if_exists__)); | |
using ::lldiv __attribute__((__using_if_exists__)); | |
using ::mblen __attribute__((__using_if_exists__)); | |
using ::mbtowc __attribute__((__using_if_exists__)); | |
using ::wctomb __attribute__((__using_if_exists__)); | |
using ::mbstowcs __attribute__((__using_if_exists__)); | |
using ::wcstombs __attribute__((__using_if_exists__)); | |
using ::at_quick_exit __attribute__((__using_if_exists__)); | |
using ::quick_exit __attribute__((__using_if_exists__)); | |
using ::aligned_alloc __attribute__((__using_if_exists__)); | |
}} | |
# 278 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/iosfwd" 1 3 | |
# 99 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/iosfwd" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/string.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/string.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/memory_resource.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/memory_resource.h" 3 | |
namespace std { inline namespace __1 { | |
namespace pmr { | |
template <class _ValueType> | |
class __attribute__((__type_visibility__("default"))) polymorphic_allocator; | |
} | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/string.h" 2 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__fwd/string.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _CharT> | |
struct __attribute__((__type_visibility__("default"))) char_traits; | |
template <> | |
struct char_traits<char>; | |
template <> | |
struct char_traits<char16_t>; | |
template <> | |
struct char_traits<char32_t>; | |
template <> | |
struct char_traits<wchar_t>; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) allocator; | |
template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_string; | |
using string = basic_string<char>; | |
using wstring = basic_string<wchar_t>; | |
using u16string = basic_string<char16_t>; | |
using u32string = basic_string<char32_t>; | |
namespace pmr { | |
template <class _CharT, class _Traits = char_traits<_CharT>> | |
using basic_string = std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; | |
using string = basic_string<char>; | |
using wstring = basic_string<wchar_t>; | |
using u16string = basic_string<char16_t>; | |
using u32string = basic_string<char32_t>; | |
} | |
template <class _CharT, class _Traits, class _Allocator> | |
class __attribute__((__preferred_name__(string))) | |
__attribute__((__preferred_name__(wstring))) | |
__attribute__((__preferred_name__(u16string))) | |
__attribute__((__preferred_name__(u32string))) | |
__attribute__((__preferred_name__(pmr::string))) | |
__attribute__((__preferred_name__(pmr::wstring))) | |
__attribute__((__preferred_name__(pmr::u16string))) | |
__attribute__((__preferred_name__(pmr::u32string))) | |
basic_string; | |
}} | |
# 100 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/iosfwd" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__mbstate_t.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__mbstate_t.h" 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__mbstate_t.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/wchar.h" 1 3 | |
# 109 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/wchar.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 110 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/wchar.h" 2 3 | |
# 117 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/wchar.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 36 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stdarg.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stdarg.h" 3 | |
typedef __builtin_va_list __gnuc_va_list; | |
# 39 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/wint_t.h" 1 3 | |
# 20 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/wint_t.h" 3 | |
typedef unsigned int wint_t; | |
# 42 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/mbstate_t.h" 1 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 1 3 | |
# 13 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__mbstate_t.h" 3 | |
typedef struct | |
{ | |
int __count; | |
union | |
{ | |
unsigned int __wch; | |
char __wchb[4]; | |
} __value; | |
} __mbstate_t; | |
# 5 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/mbstate_t.h" 2 3 | |
typedef __mbstate_t mbstate_t; | |
# 43 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/__FILE.h" 1 3 | |
struct _IO_FILE; | |
typedef struct _IO_FILE __FILE; | |
# 44 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/types/FILE.h" 1 3 | |
struct _IO_FILE; | |
typedef struct _IO_FILE FILE; | |
# 47 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 2 3 | |
# 79 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern "C" { | |
struct tm; | |
extern wchar_t *wcscpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern wchar_t *wcsncpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern wchar_t *wcscat (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern wchar_t *wcsncat (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); | |
extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, | |
size_t __n) noexcept (true); | |
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, | |
locale_t __loc) noexcept (true); | |
extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, | |
size_t __n, locale_t __loc) noexcept (true); | |
extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true); | |
extern size_t wcsxfrm (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) noexcept (true); | |
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, | |
locale_t __loc) noexcept (true); | |
extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, | |
size_t __n, locale_t __loc) noexcept (true); | |
extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true) | |
__attribute__ ((__malloc__)) ; | |
extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) | |
noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) | |
noexcept (true) __asm ("wcschr") __attribute__ ((__pure__)); | |
extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) | |
noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) | |
noexcept (true) __asm ("wcsrchr") __attribute__ ((__pure__)); | |
# 182 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) | |
noexcept (true) __attribute__ ((__pure__)); | |
extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) | |
noexcept (true) __attribute__ ((__pure__)); | |
extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) | |
noexcept (true) __attribute__ ((__pure__)); | |
extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) | |
noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, | |
const wchar_t *__accept) | |
noexcept (true) __asm ("wcspbrk") __attribute__ ((__pure__)); | |
extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) | |
noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, | |
const wchar_t *__needle) | |
noexcept (true) __asm ("wcsstr") __attribute__ ((__pure__)); | |
extern wchar_t *wcstok (wchar_t *__restrict __s, | |
const wchar_t *__restrict __delim, | |
wchar_t **__restrict __ptr) noexcept (true); | |
extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__)); | |
extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) | |
noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, | |
const wchar_t *__needle) | |
noexcept (true) __asm ("wcswcs") __attribute__ ((__pure__)); | |
# 241 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) | |
noexcept (true) __attribute__ ((__pure__)); | |
extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) | |
noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); | |
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, | |
size_t __n) | |
noexcept (true) __asm ("wmemchr") __attribute__ ((__pure__)); | |
extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)); | |
extern wchar_t *wmemcpy (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) noexcept (true); | |
extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
noexcept (true); | |
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true); | |
extern wchar_t *wmempcpy (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) | |
noexcept (true); | |
extern wint_t btowc (int __c) noexcept (true); | |
extern int wctob (wint_t __c) noexcept (true); | |
extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__)); | |
extern size_t mbrtowc (wchar_t *__restrict __pwc, | |
const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __p) noexcept (true); | |
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern size_t __mbrlen (const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern size_t mbrlen (const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern wint_t __btowc_alias (int __c) __asm ("btowc"); | |
extern __inline __attribute__ ((__gnu_inline__)) wint_t | |
btowc (int __c) noexcept (true) | |
{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' | |
? (wint_t) __c : __btowc_alias (__c)); } | |
extern int __wctob_alias (wint_t __c) __asm ("wctob"); | |
extern __inline __attribute__ ((__gnu_inline__)) int | |
wctob (wint_t __wc) noexcept (true) | |
{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' | |
? (int) __wc : __wctob_alias (__wc)); } | |
extern __inline __attribute__ ((__gnu_inline__)) size_t | |
mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) noexcept (true) | |
{ return (__ps != __null | |
? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } | |
extern size_t mbsrtowcs (wchar_t *__restrict __dst, | |
const char **__restrict __src, size_t __len, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern size_t wcsrtombs (char *__restrict __dst, | |
const wchar_t **__restrict __src, size_t __len, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern size_t mbsnrtowcs (wchar_t *__restrict __dst, | |
const char **__restrict __src, size_t __nmc, | |
size_t __len, mbstate_t *__restrict __ps) noexcept (true); | |
extern size_t wcsnrtombs (char *__restrict __dst, | |
const wchar_t **__restrict __src, | |
size_t __nwc, size_t __len, | |
mbstate_t *__restrict __ps) noexcept (true); | |
extern int wcwidth (wchar_t __c) noexcept (true); | |
extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true); | |
extern double wcstod (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern float wcstof (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern long double wcstold (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
# 397 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) noexcept (true); | |
# 429 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern long int wcstol (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) noexcept (true); | |
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
noexcept (true); | |
__extension__ | |
extern long long int wcstoll (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
noexcept (true); | |
__extension__ | |
extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) noexcept (true); | |
__extension__ | |
extern long long int wcstoq (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
noexcept (true); | |
__extension__ | |
extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) noexcept (true); | |
extern long int wcstol_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base, | |
locale_t __loc) noexcept (true); | |
extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) noexcept (true); | |
__extension__ | |
extern long long int wcstoll_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) noexcept (true); | |
__extension__ | |
extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) | |
noexcept (true); | |
extern double wcstod_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, locale_t __loc) | |
noexcept (true); | |
extern float wcstof_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, locale_t __loc) | |
noexcept (true); | |
extern long double wcstold_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
# 512 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) noexcept (true); | |
# 552 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wchar_t *wcpcpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) noexcept (true); | |
extern wchar_t *wcpncpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
noexcept (true); | |
# 581 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true) | |
__attribute__ ((__malloc__)) ; | |
extern int fwide (__FILE *__fp, int __mode) noexcept (true); | |
extern int fwprintf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...) | |
; | |
extern int wprintf (const wchar_t *__restrict __format, ...) | |
; | |
extern int swprintf (wchar_t *__restrict __s, size_t __n, | |
const wchar_t *__restrict __format, ...) | |
noexcept (true) ; | |
extern int vfwprintf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
; | |
extern int vwprintf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
; | |
extern int vswprintf (wchar_t *__restrict __s, size_t __n, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
noexcept (true) ; | |
extern int fwscanf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...) | |
; | |
extern int wscanf (const wchar_t *__restrict __format, ...) | |
; | |
extern int swscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, ...) | |
noexcept (true) ; | |
# 657 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf") | |
; | |
extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf") | |
; | |
extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc99_swscanf") | |
; | |
# 688 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern int vfwscanf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
; | |
extern int vwscanf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
; | |
extern int vswscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
noexcept (true) ; | |
extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf") | |
; | |
extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf") | |
; | |
extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc99_vswscanf") | |
; | |
# 744 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wint_t fgetwc (__FILE *__stream); | |
extern wint_t getwc (__FILE *__stream); | |
extern wint_t getwchar (void); | |
extern wint_t fputwc (wchar_t __wc, __FILE *__stream); | |
extern wint_t putwc (wchar_t __wc, __FILE *__stream); | |
extern wint_t putwchar (wchar_t __wc); | |
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, | |
__FILE *__restrict __stream); | |
extern int fputws (const wchar_t *__restrict __ws, | |
__FILE *__restrict __stream); | |
extern wint_t ungetwc (wint_t __wc, __FILE *__stream); | |
# 799 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wint_t getwc_unlocked (__FILE *__stream); | |
extern wint_t getwchar_unlocked (void); | |
extern wint_t fgetwc_unlocked (__FILE *__stream); | |
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); | |
# 825 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); | |
extern wint_t putwchar_unlocked (wchar_t __wc); | |
# 835 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, | |
__FILE *__restrict __stream); | |
extern int fputws_unlocked (const wchar_t *__restrict __ws, | |
__FILE *__restrict __stream); | |
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, | |
const wchar_t *__restrict __format, | |
const struct tm *__restrict __tp) noexcept (true); | |
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, | |
const wchar_t *__restrict __format, | |
const struct tm *__restrict __tp, | |
locale_t __loc) noexcept (true); | |
# 875 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/wchar.h" 3 | |
} | |
# 125 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/wchar.h" 2 3 | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__mbstate_t.h" 2 3 | |
namespace std { inline namespace __1 { | |
using ::mbstate_t __attribute__((__using_if_exists__)); | |
}} | |
# 101 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/iosfwd" 2 3 | |
# 105 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/iosfwd" 3 | |
namespace std { inline namespace __1 { | |
class __attribute__((__visibility__("default"))) ios_base; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_ios; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_streambuf; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_istream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_ostream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_iostream; | |
template <class _CharT, class _Traits = char_traits<_CharT>, | |
class _Allocator = allocator<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_stringbuf; | |
template <class _CharT, class _Traits = char_traits<_CharT>, | |
class _Allocator = allocator<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_istringstream; | |
template <class _CharT, class _Traits = char_traits<_CharT>, | |
class _Allocator = allocator<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_ostringstream; | |
template <class _CharT, class _Traits = char_traits<_CharT>, | |
class _Allocator = allocator<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_stringstream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_filebuf; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_ifstream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_ofstream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) basic_fstream; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) istreambuf_iterator; | |
template <class _CharT, class _Traits = char_traits<_CharT> > | |
class __attribute__((__type_visibility__("default"))) ostreambuf_iterator; | |
typedef basic_ios<char> ios; | |
typedef basic_ios<wchar_t> wios; | |
typedef basic_streambuf<char> streambuf; | |
typedef basic_istream<char> istream; | |
typedef basic_ostream<char> ostream; | |
typedef basic_iostream<char> iostream; | |
typedef basic_stringbuf<char> stringbuf; | |
typedef basic_istringstream<char> istringstream; | |
typedef basic_ostringstream<char> ostringstream; | |
typedef basic_stringstream<char> stringstream; | |
typedef basic_filebuf<char> filebuf; | |
typedef basic_ifstream<char> ifstream; | |
typedef basic_ofstream<char> ofstream; | |
typedef basic_fstream<char> fstream; | |
typedef basic_streambuf<wchar_t> wstreambuf; | |
typedef basic_istream<wchar_t> wistream; | |
typedef basic_ostream<wchar_t> wostream; | |
typedef basic_iostream<wchar_t> wiostream; | |
typedef basic_stringbuf<wchar_t> wstringbuf; | |
typedef basic_istringstream<wchar_t> wistringstream; | |
typedef basic_ostringstream<wchar_t> wostringstream; | |
typedef basic_stringstream<wchar_t> wstringstream; | |
typedef basic_filebuf<wchar_t> wfilebuf; | |
typedef basic_ifstream<wchar_t> wifstream; | |
typedef basic_ofstream<wchar_t> wofstream; | |
typedef basic_fstream<wchar_t> wfstream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(ios))) __attribute__((__preferred_name__(wios))) basic_ios; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(streambuf))) __attribute__((__preferred_name__(wstreambuf))) basic_streambuf; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(istream))) __attribute__((__preferred_name__(wistream))) basic_istream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(ostream))) __attribute__((__preferred_name__(wostream))) basic_ostream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(iostream))) __attribute__((__preferred_name__(wiostream))) basic_iostream; | |
template <class _CharT, class _Traits, class _Allocator> | |
class __attribute__((__preferred_name__(stringbuf))) __attribute__((__preferred_name__(wstringbuf))) basic_stringbuf; | |
template <class _CharT, class _Traits, class _Allocator> | |
class __attribute__((__preferred_name__(istringstream))) __attribute__((__preferred_name__(wistringstream))) basic_istringstream; | |
template <class _CharT, class _Traits, class _Allocator> | |
class __attribute__((__preferred_name__(ostringstream))) __attribute__((__preferred_name__(wostringstream))) basic_ostringstream; | |
template <class _CharT, class _Traits, class _Allocator> | |
class __attribute__((__preferred_name__(stringstream))) __attribute__((__preferred_name__(wstringstream))) basic_stringstream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(filebuf))) __attribute__((__preferred_name__(wfilebuf))) basic_filebuf; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(ifstream))) __attribute__((__preferred_name__(wifstream))) basic_ifstream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(ofstream))) __attribute__((__preferred_name__(wofstream))) basic_ofstream; | |
template <class _CharT, class _Traits> | |
class __attribute__((__preferred_name__(fstream))) __attribute__((__preferred_name__(wfstream))) basic_fstream; | |
template <class _State> class __attribute__((__type_visibility__("default"))) fpos; | |
typedef fpos<mbstate_t> streampos; | |
typedef fpos<mbstate_t> wstreampos; | |
typedef fpos<mbstate_t> u16streampos; | |
typedef fpos<mbstate_t> u32streampos; | |
typedef long long streamoff; | |
template <class _Tp, class _Alloc = allocator<_Tp> > | |
class __attribute__((__type_visibility__("default"))) vector; | |
template <class _CharT, class _Traits> | |
class __save_flags | |
{ | |
typedef basic_ios<_CharT, _Traits> __stream_type; | |
typedef typename __stream_type::fmtflags fmtflags; | |
__stream_type& __stream_; | |
fmtflags __fmtflags_; | |
_CharT __fill_; | |
__save_flags(const __save_flags&); | |
__save_flags& operator=(const __save_flags&); | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
explicit __save_flags(__stream_type& __stream) | |
: __stream_(__stream), | |
__fmtflags_(__stream.flags()), | |
__fill_(__stream.fill()) | |
{} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
~__save_flags() | |
{ | |
__stream_.flags(__fmtflags_); | |
__stream_.fill(__fill_); | |
} | |
}; | |
}} | |
# 279 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/utility" 2 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" 1 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Compiler.h" 1 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Compiler.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/include/llvm/Config/llvm-config.h" 1 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Compiler.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Compiler.h" 2 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" 2 | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
namespace llvm { | |
template < | |
typename To, typename From, | |
typename = std::enable_if_t<sizeof(To) == sizeof(From)>, | |
typename = std::enable_if_t<std::is_trivially_constructible<To>::value>, | |
typename = std::enable_if_t<std::is_trivially_copyable<To>::value>, | |
typename = std::enable_if_t<std::is_trivially_copyable<From>::value>> | |
[[nodiscard]] inline To bit_cast(const From &from) noexcept { | |
return __builtin_bit_cast(To, from); | |
} | |
template <typename T, typename = std::enable_if_t<std::is_integral_v<T>>> | |
[[nodiscard]] constexpr T byteswap(T V) noexcept { | |
if constexpr (sizeof(T) == 1) { | |
return V; | |
} else if constexpr (sizeof(T) == 2) { | |
uint16_t UV = V; | |
uint16_t Hi = UV << 8; | |
uint16_t Lo = UV >> 8; | |
return Hi | Lo; | |
} else if constexpr (sizeof(T) == 4) { | |
uint32_t UV = V; | |
return __builtin_bswap32(UV); | |
# 92 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
} else if constexpr (sizeof(T) == 8) { | |
uint64_t UV = V; | |
return __builtin_bswap64(UV); | |
} else { | |
static_assert(!sizeof(T *), "Don't know how to handle the given type."); | |
return 0; | |
} | |
} | |
template <typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>> | |
[[nodiscard]] constexpr inline bool has_single_bit(T Value) noexcept { | |
return (Value != 0) && ((Value & (Value - 1)) == 0); | |
} | |
namespace detail { | |
template <typename T, std::size_t SizeOfT> struct TrailingZerosCounter { | |
static unsigned count(T Val) { | |
if (!Val) | |
return std::numeric_limits<T>::digits; | |
if (Val & 0x1) | |
return 0; | |
unsigned ZeroBits = 0; | |
T Shift = std::numeric_limits<T>::digits >> 1; | |
T Mask = std::numeric_limits<T>::max() >> Shift; | |
while (Shift) { | |
if ((Val & Mask) == 0) { | |
Val >>= Shift; | |
ZeroBits |= Shift; | |
} | |
Shift >>= 1; | |
Mask >>= Shift; | |
} | |
return ZeroBits; | |
} | |
}; | |
template <typename T> struct TrailingZerosCounter<T, 4> { | |
static unsigned count(T Val) { | |
if (Val == 0) | |
return 32; | |
return __builtin_ctz(Val); | |
} | |
}; | |
template <typename T> struct TrailingZerosCounter<T, 8> { | |
static unsigned count(T Val) { | |
if (Val == 0) | |
return 64; | |
return __builtin_ctzll(Val); | |
} | |
}; | |
} | |
template <typename T> [[nodiscard]] int countr_zero(T Val) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::detail::TrailingZerosCounter<T, sizeof(T)>::count(Val); | |
} | |
namespace detail { | |
template <typename T, std::size_t SizeOfT> struct LeadingZerosCounter { | |
static unsigned count(T Val) { | |
if (!Val) | |
return std::numeric_limits<T>::digits; | |
unsigned ZeroBits = 0; | |
for (T Shift = std::numeric_limits<T>::digits >> 1; Shift; Shift >>= 1) { | |
T Tmp = Val >> Shift; | |
if (Tmp) | |
Val = Tmp; | |
else | |
ZeroBits |= Shift; | |
} | |
return ZeroBits; | |
} | |
}; | |
template <typename T> struct LeadingZerosCounter<T, 4> { | |
static unsigned count(T Val) { | |
if (Val == 0) | |
return 32; | |
return __builtin_clz(Val); | |
} | |
}; | |
template <typename T> struct LeadingZerosCounter<T, 8> { | |
static unsigned count(T Val) { | |
if (Val == 0) | |
return 64; | |
return __builtin_clzll(Val); | |
} | |
}; | |
} | |
template <typename T> [[nodiscard]] int countl_zero(T Val) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::detail::LeadingZerosCounter<T, sizeof(T)>::count(Val); | |
} | |
# 258 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
template <typename T> [[nodiscard]] int countl_one(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countl_zero<T>(~Value); | |
} | |
# 271 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
template <typename T> [[nodiscard]] int countr_one(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countr_zero<T>(~Value); | |
} | |
template <typename T> [[nodiscard]] int bit_width(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return std::numeric_limits<T>::digits - llvm::countl_zero(Value); | |
} | |
template <typename T> [[nodiscard]] T bit_floor(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
if (!Value) | |
return 0; | |
return T(1) << (llvm::bit_width(Value) - 1); | |
} | |
# 306 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/bit.h" | |
template <typename T> [[nodiscard]] T bit_ceil(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
if (Value < 2) | |
return 1; | |
return T(1) << llvm::bit_width<T>(Value - 1u); | |
} | |
namespace detail { | |
template <typename T, std::size_t SizeOfT> struct PopulationCounter { | |
static int count(T Value) { | |
static_assert(SizeOfT <= 4, "Not implemented!"); | |
return (int)__builtin_popcount(Value); | |
} | |
}; | |
template <typename T> struct PopulationCounter<T, 8> { | |
static int count(T Value) { | |
return (int)__builtin_popcountll(Value); | |
} | |
}; | |
} | |
template <typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>> | |
[[nodiscard]] inline int popcount(T Value) noexcept { | |
return detail::PopulationCounter<T, sizeof(T)>::count(Value); | |
} | |
template <typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>> | |
[[nodiscard]] constexpr T rotr(T V, int R); | |
template <typename T, typename = std::enable_if_t<std::is_unsigned_v<T>>> | |
[[nodiscard]] constexpr T rotl(T V, int R) { | |
unsigned N = std::numeric_limits<T>::digits; | |
R = R % N; | |
if (!R) | |
return V; | |
if (R < 0) | |
return llvm::rotr(V, -R); | |
return (V << R) | (V >> (N - R)); | |
} | |
template <typename T, typename> [[nodiscard]] constexpr T rotr(T V, int R) { | |
unsigned N = std::numeric_limits<T>::digits; | |
R = R % N; | |
if (!R) | |
return V; | |
if (R < 0) | |
return llvm::rotl(V, -R); | |
return (V >> R) | (V << (N - R)); | |
} | |
} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/assert.h" 1 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 2 3 | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/climits" 1 3 | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/climits" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits.h" 1 3 | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits.h" 3 | |
# 66 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/limits.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/limits.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 1 3 | |
# 26 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 2 3 | |
# 195 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix1_lim.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix1_lim.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/wordsize.h" 1 3 | |
# 28 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix1_lim.h" 2 3 | |
# 161 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix1_lim.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/local_lim.h" 1 3 | |
# 38 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/local_lim.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/linux/limits.h" 1 3 | |
# 39 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/local_lim.h" 2 3 | |
# 81 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/local_lim.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthread_stack_min-dynamic.h" 1 3 | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/pthread_stack_min-dynamic.h" 3 | |
extern "C" { | |
extern long int __sysconf (int __name) noexcept (true); | |
} | |
# 82 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/local_lim.h" 2 3 | |
# 162 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix1_lim.h" 2 3 | |
# 196 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/posix2_lim.h" 1 3 | |
# 200 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 2 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/xopen_lim.h" 1 3 | |
# 64 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/xopen_lim.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/uio_lim.h" 1 3 | |
# 65 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/xopen_lim.h" 2 3 | |
# 204 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/limits.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/limits.h" 2 3 | |
# 67 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/limits.h" 2 3 | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/climits" 2 3 | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/climits" 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstring" 1 3 | |
# 63 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstring" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/string.h" 1 3 | |
# 58 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/string.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 1 3 | |
# 26 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/bits/libc-header-start.h" 1 3 | |
# 27 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 2 3 | |
extern "C" { | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 34 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 2 3 | |
# 43 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern void *memcpy (void *__restrict __dest, const void *__restrict __src, | |
size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern void *memmove (void *__dest, const void *__src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern void *memccpy (void *__restrict __dest, const void *__restrict __src, | |
int __c, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))) ; | |
extern void *memset (void *__s, int __c, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern int memcmp (const void *__s1, const void *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
# 80 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern "C++" | |
{ | |
extern void *memchr (void *__s, int __c, size_t __n) | |
noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern const void *memchr (const void *__s, int __c, size_t __n) | |
noexcept (true) __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * | |
memchr (void *__s, int __c, size_t __n) noexcept (true) | |
{ | |
return __builtin_memchr (__s, __c, __n); | |
} | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * | |
memchr (const void *__s, int __c, size_t __n) noexcept (true) | |
{ | |
return __builtin_memchr (__s, __c, __n); | |
} | |
} | |
# 115 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern "C++" void *rawmemchr (void *__s, int __c) | |
noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern "C++" const void *rawmemchr (const void *__s, int __c) | |
noexcept (true) __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern "C++" void *memrchr (void *__s, int __c, size_t __n) | |
noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) | |
; | |
extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) | |
noexcept (true) __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) | |
; | |
# 141 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern char *strcpy (char *__restrict __dest, const char *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *strncpy (char *__restrict __dest, | |
const char *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *strcat (char *__restrict __dest, const char *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *strncat (char *__restrict __dest, const char *__restrict __src, | |
size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strcmp (const char *__s1, const char *__s2) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strncmp (const char *__s1, const char *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strcoll (const char *__s1, const char *__s2) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern size_t strxfrm (char *__restrict __dest, | |
const char *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (2))) ; | |
extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); | |
extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, | |
locale_t __l) noexcept (true) __attribute__ ((__nonnull__ (2, 4))) | |
; | |
extern char *strdup (const char *__s) | |
noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
extern char *strndup (const char *__string, size_t __n) | |
noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
# 224 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern "C++" | |
{ | |
extern char *strchr (char *__s, int __c) | |
noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern const char *strchr (const char *__s, int __c) | |
noexcept (true) __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * | |
strchr (char *__s, int __c) noexcept (true) | |
{ | |
return __builtin_strchr (__s, __c); | |
} | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * | |
strchr (const char *__s, int __c) noexcept (true) | |
{ | |
return __builtin_strchr (__s, __c); | |
} | |
} | |
extern "C++" | |
{ | |
extern char *strrchr (char *__s, int __c) | |
noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern const char *strrchr (const char *__s, int __c) | |
noexcept (true) __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * | |
strrchr (char *__s, int __c) noexcept (true) | |
{ | |
return __builtin_strrchr (__s, __c); | |
} | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * | |
strrchr (const char *__s, int __c) noexcept (true) | |
{ | |
return __builtin_strrchr (__s, __c); | |
} | |
} | |
# 281 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern "C++" char *strchrnul (char *__s, int __c) | |
noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern "C++" const char *strchrnul (const char *__s, int __c) | |
noexcept (true) __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
# 293 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern size_t strcspn (const char *__s, const char *__reject) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern size_t strspn (const char *__s, const char *__accept) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern "C++" | |
{ | |
extern char *strpbrk (char *__s, const char *__accept) | |
noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern const char *strpbrk (const char *__s, const char *__accept) | |
noexcept (true) __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * | |
strpbrk (char *__s, const char *__accept) noexcept (true) | |
{ | |
return __builtin_strpbrk (__s, __accept); | |
} | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * | |
strpbrk (const char *__s, const char *__accept) noexcept (true) | |
{ | |
return __builtin_strpbrk (__s, __accept); | |
} | |
} | |
extern "C++" | |
{ | |
extern char *strstr (char *__haystack, const char *__needle) | |
noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern const char *strstr (const char *__haystack, const char *__needle) | |
noexcept (true) __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * | |
strstr (char *__haystack, const char *__needle) noexcept (true) | |
{ | |
return __builtin_strstr (__haystack, __needle); | |
} | |
extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * | |
strstr (const char *__haystack, const char *__needle) noexcept (true) | |
{ | |
return __builtin_strstr (__haystack, __needle); | |
} | |
} | |
extern char *strtok (char *__restrict __s, const char *__restrict __delim) | |
noexcept (true) __attribute__ ((__nonnull__ (2))); | |
extern char *__strtok_r (char *__restrict __s, | |
const char *__restrict __delim, | |
char **__restrict __save_ptr) | |
noexcept (true) __attribute__ ((__nonnull__ (2, 3))); | |
extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, | |
char **__restrict __save_ptr) | |
noexcept (true) __attribute__ ((__nonnull__ (2, 3))); | |
extern "C++" char *strcasestr (char *__haystack, const char *__needle) | |
noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern "C++" const char *strcasestr (const char *__haystack, | |
const char *__needle) | |
noexcept (true) __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
# 389 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern void *memmem (const void *__haystack, size_t __haystacklen, | |
const void *__needle, size_t __needlelen) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) | |
; | |
extern void *__mempcpy (void *__restrict __dest, | |
const void *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern void *mempcpy (void *__restrict __dest, | |
const void *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern size_t strlen (const char *__s) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern size_t strnlen (const char *__string, size_t __maxlen) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern char *strerror (int __errnum) noexcept (true); | |
# 444 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) | |
noexcept (true) __attribute__ ((__nonnull__ (2))) ; | |
extern const char *strerrordesc_np (int __err) noexcept (true); | |
extern const char *strerrorname_np (int __err) noexcept (true); | |
extern char *strerror_l (int __errnum, locale_t __l) noexcept (true); | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/strings.h" 1 3 | |
# 23 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/strings.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build0/lib/clang/17/include/stddef.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stddef.h" 2 3 | |
# 24 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/strings.h" 2 3 | |
extern "C" { | |
extern int bcmp (const void *__s1, const void *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern void bcopy (const void *__src, void *__dest, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern void bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
# 68 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/strings.h" 3 | |
extern char *index (const char *__s, int __c) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
# 96 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/strings.h" 3 | |
extern char *rindex (const char *__s, int __c) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
extern int ffs (int __i) noexcept (true) __attribute__ ((__const__)); | |
extern int ffsl (long int __l) noexcept (true) __attribute__ ((__const__)); | |
__extension__ extern int ffsll (long long int __ll) | |
noexcept (true) __attribute__ ((__const__)); | |
extern int strcasecmp (const char *__s1, const char *__s2) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); | |
extern int strncasecmp_l (const char *__s1, const char *__s2, | |
size_t __n, locale_t __loc) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); | |
} | |
# 463 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 2 3 | |
extern void explicit_bzero (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))) | |
; | |
extern char *strsep (char **__restrict __stringp, | |
const char *__restrict __delim) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *strsignal (int __sig) noexcept (true); | |
extern const char *sigabbrev_np (int __sig) noexcept (true); | |
extern const char *sigdescr_np (int __sig) noexcept (true); | |
extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *__stpncpy (char *__restrict __dest, | |
const char *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *stpncpy (char *__restrict __dest, | |
const char *__restrict __src, size_t __n) | |
noexcept (true) __attribute__ ((__nonnull__ (1, 2))); | |
extern int strverscmp (const char *__s1, const char *__s2) | |
noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
extern char *strfry (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1))); | |
extern void *memfrob (void *__s, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1))) | |
; | |
extern "C++" char *basename (char *__filename) | |
noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1))); | |
extern "C++" const char *basename (const char *__filename) | |
noexcept (true) __asm ("basename") __attribute__ ((__nonnull__ (1))); | |
# 539 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/string.h" 3 | |
} | |
# 62 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/string.h" 2 3 | |
# 64 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstring" 2 3 | |
# 75 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cstring" 3 | |
namespace std { inline namespace __1 { | |
using ::size_t __attribute__((__using_if_exists__)); | |
using ::memcpy __attribute__((__using_if_exists__)); | |
using ::memmove __attribute__((__using_if_exists__)); | |
using ::strcpy __attribute__((__using_if_exists__)); | |
using ::strncpy __attribute__((__using_if_exists__)); | |
using ::strcat __attribute__((__using_if_exists__)); | |
using ::strncat __attribute__((__using_if_exists__)); | |
using ::memcmp __attribute__((__using_if_exists__)); | |
using ::strcmp __attribute__((__using_if_exists__)); | |
using ::strncmp __attribute__((__using_if_exists__)); | |
using ::strcoll __attribute__((__using_if_exists__)); | |
using ::strxfrm __attribute__((__using_if_exists__)); | |
using ::memchr __attribute__((__using_if_exists__)); | |
using ::strchr __attribute__((__using_if_exists__)); | |
using ::strcspn __attribute__((__using_if_exists__)); | |
using ::strpbrk __attribute__((__using_if_exists__)); | |
using ::strrchr __attribute__((__using_if_exists__)); | |
using ::strspn __attribute__((__using_if_exists__)); | |
using ::strstr __attribute__((__using_if_exists__)); | |
using ::strtok __attribute__((__using_if_exists__)); | |
using ::memset __attribute__((__using_if_exists__)); | |
using ::strerror __attribute__((__using_if_exists__)); | |
using ::strlen __attribute__((__using_if_exists__)); | |
}} | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" 2 | |
namespace llvm { | |
namespace numbers { | |
constexpr double e = 2.7182818284590452354, | |
egamma = .57721566490153286061, | |
ln2 = .69314718055994530942, | |
ln10 = 2.3025850929940456840, | |
log2e = 1.4426950408889634074, | |
log10e = .43429448190325182765, | |
pi = 3.1415926535897932385, | |
inv_pi = .31830988618379067154, | |
sqrtpi = 1.7724538509055160273, | |
inv_sqrtpi = .56418958354775628695, | |
sqrt2 = 1.4142135623730950488, | |
inv_sqrt2 = .70710678118654752440, | |
sqrt3 = 1.7320508075688772935, | |
inv_sqrt3 = .57735026918962576451, | |
phi = 1.6180339887498948482; | |
constexpr float ef = 2.71828183F, | |
egammaf = .577215665F, | |
ln2f = .693147181F, | |
ln10f = 2.30258509F, | |
log2ef = 1.44269504F, | |
log10ef = .434294482F, | |
pif = 3.14159265F, | |
inv_pif = .318309886F, | |
sqrtpif = 1.77245385F, | |
inv_sqrtpif = .564189584F, | |
sqrt2f = 1.41421356F, | |
inv_sqrt2f = .707106781F, | |
sqrt3f = 1.73205081F, | |
inv_sqrt3f = .577350269F, | |
phif = 1.61803399F; | |
} | |
template <typename T> | |
__attribute__((deprecated("Use llvm::countr_zero instead.", "llvm::countr_zero"))) | |
unsigned countTrailingZeros(T Val) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countr_zero(Val); | |
} | |
template <typename T> | |
__attribute__((deprecated("Use llvm::countl_zero instead.", "llvm::countl_zero"))) | |
unsigned countLeadingZeros(T Val) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countl_zero(Val); | |
} | |
template <typename T> T maskTrailingOnes(unsigned N) { | |
static_assert(std::is_unsigned<T>::value, "Invalid type!"); | |
const unsigned Bits = 8 * sizeof(T); | |
(static_cast <bool> (N <= Bits && "Invalid bit index") ? void (0) : __assert_fail ("N <= Bits && \"Invalid bit index\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 96, __extension__ __PRETTY_FUNCTION__)); | |
return N == 0 ? 0 : (T(-1) >> (Bits - N)); | |
} | |
template <typename T> T maskLeadingOnes(unsigned N) { | |
return ~maskTrailingOnes<T>(8 * sizeof(T) - N); | |
} | |
template <typename T> T maskTrailingZeros(unsigned N) { | |
return maskLeadingOnes<T>(8 * sizeof(T) - N); | |
} | |
template <typename T> T maskLeadingZeros(unsigned N) { | |
return maskTrailingOnes<T>(8 * sizeof(T) - N); | |
} | |
static const unsigned char BitReverseTable256[256] = { | |
0, 0 + 2 * 64, 0 + 1 * 64, 0 + 3 * 64, 0 + 2 * 16, 0 + 2 * 16 + 2 * 64, 0 + 2 * 16 + 1 * 64, 0 + 2 * 16 + 3 * 64, 0 + 1 * 16, 0 + 1 * 16 + 2 * 64, 0 + 1 * 16 + 1 * 64, 0 + 1 * 16 + 3 * 64, 0 + 3 * 16, 0 + 3 * 16 + 2 * 64, 0 + 3 * 16 + 1 * 64, 0 + 3 * 16 + 3 * 64, 0 + 2 * 4, 0 + 2 * 4 + 2 * 64, 0 + 2 * 4 + 1 * 64, 0 + 2 * 4 + 3 * 64, 0 + 2 * 4 + 2 * 16, 0 + 2 * 4 + 2 * 16 + 2 * 64, 0 + 2 * 4 + 2 * 16 + 1 * 64, 0 + 2 * 4 + 2 * 16 + 3 * 64, 0 + 2 * 4 + 1 * 16, 0 + 2 * 4 + 1 * 16 + 2 * 64, 0 + 2 * 4 + 1 * 16 + 1 * 64, 0 + 2 * 4 + 1 * 16 + 3 * 64, 0 + 2 * 4 + 3 * 16, 0 + 2 * 4 + 3 * 16 + 2 * 64, 0 + 2 * 4 + 3 * 16 + 1 * 64, 0 + 2 * 4 + 3 * 16 + 3 * 64, 0 + 1 * 4, 0 + 1 * 4 + 2 * 64, 0 + 1 * 4 + 1 * 64, 0 + 1 * 4 + 3 * 64, 0 + 1 * 4 + 2 * 16, 0 + 1 * 4 + 2 * 16 + 2 * 64, 0 + 1 * 4 + 2 * 16 + 1 * 64, 0 + 1 * 4 + 2 * 16 + 3 * 64, 0 + 1 * 4 + 1 * 16, 0 + 1 * 4 + 1 * 16 + 2 * 64, 0 + 1 * 4 + 1 * 16 + 1 * 64, 0 + 1 * 4 + 1 * 16 + 3 * 64, 0 + 1 * 4 + 3 * 16, 0 + 1 * 4 + 3 * 16 + 2 * 64, 0 + 1 * 4 + 3 * 16 + 1 * 64, 0 + 1 * 4 + 3 * 16 + 3 * 64, 0 + 3 * 4, 0 + 3 * 4 + 2 * 64, 0 + 3 * 4 + 1 * 64, 0 + 3 * 4 + 3 * 64, 0 + 3 * 4 + 2 * 16, 0 + 3 * 4 + 2 * 16 + 2 * 64, 0 + 3 * 4 + 2 * 16 + 1 * 64, 0 + 3 * 4 + 2 * 16 + 3 * 64, 0 + 3 * 4 + 1 * 16, 0 + 3 * 4 + 1 * 16 + 2 * 64, 0 + 3 * 4 + 1 * 16 + 1 * 64, 0 + 3 * 4 + 1 * 16 + 3 * 64, 0 + 3 * 4 + 3 * 16, 0 + 3 * 4 + 3 * 16 + 2 * 64, 0 + 3 * 4 + 3 * 16 + 1 * 64, 0 + 3 * 4 + 3 * 16 + 3 * 64, 2, 2 + 2 * 64, 2 + 1 * 64, 2 + 3 * 64, 2 + 2 * 16, 2 + 2 * 16 + 2 * 64, 2 + 2 * 16 + 1 * 64, 2 + 2 * 16 + 3 * 64, 2 + 1 * 16, 2 + 1 * 16 + 2 * 64, 2 + 1 * 16 + 1 * 64, 2 + 1 * 16 + 3 * 64, 2 + 3 * 16, 2 + 3 * 16 + 2 * 64, 2 + 3 * 16 + 1 * 64, 2 + 3 * 16 + 3 * 64, 2 + 2 * 4, 2 + 2 * 4 + 2 * 64, 2 + 2 * 4 + 1 * 64, 2 + 2 * 4 + 3 * 64, 2 + 2 * 4 + 2 * 16, 2 + 2 * 4 + 2 * 16 + 2 * 64, 2 + 2 * 4 + 2 * 16 + 1 * 64, 2 + 2 * 4 + 2 * 16 + 3 * 64, 2 + 2 * 4 + 1 * 16, 2 + 2 * 4 + 1 * 16 + 2 * 64, 2 + 2 * 4 + 1 * 16 + 1 * 64, 2 + 2 * 4 + 1 * 16 + 3 * 64, 2 + 2 * 4 + 3 * 16, 2 + 2 * 4 + 3 * 16 + 2 * 64, 2 + 2 * 4 + 3 * 16 + 1 * 64, 2 + 2 * 4 + 3 * 16 + 3 * 64, 2 + 1 * 4, 2 + 1 * 4 + 2 * 64, 2 + 1 * 4 + 1 * 64, 2 + 1 * 4 + 3 * 64, 2 + 1 * 4 + 2 * 16, 2 + 1 * 4 + 2 * 16 + 2 * 64, 2 + 1 * 4 + 2 * 16 + 1 * 64, 2 + 1 * 4 + 2 * 16 + 3 * 64, 2 + 1 * 4 + 1 * 16, 2 + 1 * 4 + 1 * 16 + 2 * 64, 2 + 1 * 4 + 1 * 16 + 1 * 64, 2 + 1 * 4 + 1 * 16 + 3 * 64, 2 + 1 * 4 + 3 * 16, 2 + 1 * 4 + 3 * 16 + 2 * 64, 2 + 1 * 4 + 3 * 16 + 1 * 64, 2 + 1 * 4 + 3 * 16 + 3 * 64, 2 + 3 * 4, 2 + 3 * 4 + 2 * 64, 2 + 3 * 4 + 1 * 64, 2 + 3 * 4 + 3 * 64, 2 + 3 * 4 + 2 * 16, 2 + 3 * 4 + 2 * 16 + 2 * 64, 2 + 3 * 4 + 2 * 16 + 1 * 64, 2 + 3 * 4 + 2 * 16 + 3 * 64, 2 + 3 * 4 + 1 * 16, 2 + 3 * 4 + 1 * 16 + 2 * 64, 2 + 3 * 4 + 1 * 16 + 1 * 64, 2 + 3 * 4 + 1 * 16 + 3 * 64, 2 + 3 * 4 + 3 * 16, 2 + 3 * 4 + 3 * 16 + 2 * 64, 2 + 3 * 4 + 3 * 16 + 1 * 64, 2 + 3 * 4 + 3 * 16 + 3 * 64, 1, 1 + 2 * 64, 1 + 1 * 64, 1 + 3 * 64, 1 + 2 * 16, 1 + 2 * 16 + 2 * 64, 1 + 2 * 16 + 1 * 64, 1 + 2 * 16 + 3 * 64, 1 + 1 * 16, 1 + 1 * 16 + 2 * 64, 1 + 1 * 16 + 1 * 64, 1 + 1 * 16 + 3 * 64, 1 + 3 * 16, 1 + 3 * 16 + 2 * 64, 1 + 3 * 16 + 1 * 64, 1 + 3 * 16 + 3 * 64, 1 + 2 * 4, 1 + 2 * 4 + 2 * 64, 1 + 2 * 4 + 1 * 64, 1 + 2 * 4 + 3 * 64, 1 + 2 * 4 + 2 * 16, 1 + 2 * 4 + 2 * 16 + 2 * 64, 1 + 2 * 4 + 2 * 16 + 1 * 64, 1 + 2 * 4 + 2 * 16 + 3 * 64, 1 + 2 * 4 + 1 * 16, 1 + 2 * 4 + 1 * 16 + 2 * 64, 1 + 2 * 4 + 1 * 16 + 1 * 64, 1 + 2 * 4 + 1 * 16 + 3 * 64, 1 + 2 * 4 + 3 * 16, 1 + 2 * 4 + 3 * 16 + 2 * 64, 1 + 2 * 4 + 3 * 16 + 1 * 64, 1 + 2 * 4 + 3 * 16 + 3 * 64, 1 + 1 * 4, 1 + 1 * 4 + 2 * 64, 1 + 1 * 4 + 1 * 64, 1 + 1 * 4 + 3 * 64, 1 + 1 * 4 + 2 * 16, 1 + 1 * 4 + 2 * 16 + 2 * 64, 1 + 1 * 4 + 2 * 16 + 1 * 64, 1 + 1 * 4 + 2 * 16 + 3 * 64, 1 + 1 * 4 + 1 * 16, 1 + 1 * 4 + 1 * 16 + 2 * 64, 1 + 1 * 4 + 1 * 16 + 1 * 64, 1 + 1 * 4 + 1 * 16 + 3 * 64, 1 + 1 * 4 + 3 * 16, 1 + 1 * 4 + 3 * 16 + 2 * 64, 1 + 1 * 4 + 3 * 16 + 1 * 64, 1 + 1 * 4 + 3 * 16 + 3 * 64, 1 + 3 * 4, 1 + 3 * 4 + 2 * 64, 1 + 3 * 4 + 1 * 64, 1 + 3 * 4 + 3 * 64, 1 + 3 * 4 + 2 * 16, 1 + 3 * 4 + 2 * 16 + 2 * 64, 1 + 3 * 4 + 2 * 16 + 1 * 64, 1 + 3 * 4 + 2 * 16 + 3 * 64, 1 + 3 * 4 + 1 * 16, 1 + 3 * 4 + 1 * 16 + 2 * 64, 1 + 3 * 4 + 1 * 16 + 1 * 64, 1 + 3 * 4 + 1 * 16 + 3 * 64, 1 + 3 * 4 + 3 * 16, 1 + 3 * 4 + 3 * 16 + 2 * 64, 1 + 3 * 4 + 3 * 16 + 1 * 64, 1 + 3 * 4 + 3 * 16 + 3 * 64, 3, 3 + 2 * 64, 3 + 1 * 64, 3 + 3 * 64, 3 + 2 * 16, 3 + 2 * 16 + 2 * 64, 3 + 2 * 16 + 1 * 64, 3 + 2 * 16 + 3 * 64, 3 + 1 * 16, 3 + 1 * 16 + 2 * 64, 3 + 1 * 16 + 1 * 64, 3 + 1 * 16 + 3 * 64, 3 + 3 * 16, 3 + 3 * 16 + 2 * 64, 3 + 3 * 16 + 1 * 64, 3 + 3 * 16 + 3 * 64, 3 + 2 * 4, 3 + 2 * 4 + 2 * 64, 3 + 2 * 4 + 1 * 64, 3 + 2 * 4 + 3 * 64, 3 + 2 * 4 + 2 * 16, 3 + 2 * 4 + 2 * 16 + 2 * 64, 3 + 2 * 4 + 2 * 16 + 1 * 64, 3 + 2 * 4 + 2 * 16 + 3 * 64, 3 + 2 * 4 + 1 * 16, 3 + 2 * 4 + 1 * 16 + 2 * 64, 3 + 2 * 4 + 1 * 16 + 1 * 64, 3 + 2 * 4 + 1 * 16 + 3 * 64, 3 + 2 * 4 + 3 * 16, 3 + 2 * 4 + 3 * 16 + 2 * 64, 3 + 2 * 4 + 3 * 16 + 1 * 64, 3 + 2 * 4 + 3 * 16 + 3 * 64, 3 + 1 * 4, 3 + 1 * 4 + 2 * 64, 3 + 1 * 4 + 1 * 64, 3 + 1 * 4 + 3 * 64, 3 + 1 * 4 + 2 * 16, 3 + 1 * 4 + 2 * 16 + 2 * 64, 3 + 1 * 4 + 2 * 16 + 1 * 64, 3 + 1 * 4 + 2 * 16 + 3 * 64, 3 + 1 * 4 + 1 * 16, 3 + 1 * 4 + 1 * 16 + 2 * 64, 3 + 1 * 4 + 1 * 16 + 1 * 64, 3 + 1 * 4 + 1 * 16 + 3 * 64, 3 + 1 * 4 + 3 * 16, 3 + 1 * 4 + 3 * 16 + 2 * 64, 3 + 1 * 4 + 3 * 16 + 1 * 64, 3 + 1 * 4 + 3 * 16 + 3 * 64, 3 + 3 * 4, 3 + 3 * 4 + 2 * 64, 3 + 3 * 4 + 1 * 64, 3 + 3 * 4 + 3 * 64, 3 + 3 * 4 + 2 * 16, 3 + 3 * 4 + 2 * 16 + 2 * 64, 3 + 3 * 4 + 2 * 16 + 1 * 64, 3 + 3 * 4 + 2 * 16 + 3 * 64, 3 + 3 * 4 + 1 * 16, 3 + 3 * 4 + 1 * 16 + 2 * 64, 3 + 3 * 4 + 1 * 16 + 1 * 64, 3 + 3 * 4 + 1 * 16 + 3 * 64, 3 + 3 * 4 + 3 * 16, 3 + 3 * 4 + 3 * 16 + 2 * 64, 3 + 3 * 4 + 3 * 16 + 1 * 64, 3 + 3 * 4 + 3 * 16 + 3 * 64 | |
}; | |
template <typename T> T reverseBits(T Val) { | |
if constexpr (std::is_same_v<T, uint8_t>) | |
return __builtin_bitreverse8(Val); | |
if constexpr (std::is_same_v<T, uint16_t>) | |
return __builtin_bitreverse16(Val); | |
if constexpr (std::is_same_v<T, uint32_t>) | |
return __builtin_bitreverse32(Val); | |
if constexpr (std::is_same_v<T, uint64_t>) | |
return __builtin_bitreverse64(Val); | |
unsigned char in[sizeof(Val)]; | |
unsigned char out[sizeof(Val)]; | |
std::memcpy(in, &Val, sizeof(Val)); | |
for (unsigned i = 0; i < sizeof(Val); ++i) | |
out[(sizeof(Val) - i) - 1] = BitReverseTable256[in[i]]; | |
std::memcpy(&Val, out, sizeof(Val)); | |
return Val; | |
} | |
constexpr inline uint32_t Hi_32(uint64_t Value) { | |
return static_cast<uint32_t>(Value >> 32); | |
} | |
constexpr inline uint32_t Lo_32(uint64_t Value) { | |
return static_cast<uint32_t>(Value); | |
} | |
constexpr inline uint64_t Make_64(uint32_t High, uint32_t Low) { | |
return ((uint64_t)High << 32) | (uint64_t)Low; | |
} | |
template <unsigned N> constexpr inline bool isInt(int64_t x) { | |
if constexpr (N == 8) | |
return static_cast<int8_t>(x) == x; | |
if constexpr (N == 16) | |
return static_cast<int16_t>(x) == x; | |
if constexpr (N == 32) | |
return static_cast<int32_t>(x) == x; | |
if constexpr (N < 64) | |
return -(1L << (N - 1)) <= x && x < (1L << (N - 1)); | |
(void)x; | |
return true; | |
} | |
template <unsigned N, unsigned S> | |
constexpr inline bool isShiftedInt(int64_t x) { | |
static_assert( | |
N > 0, "isShiftedInt<0> doesn't make sense (refers to a 0-bit number."); | |
static_assert(N + S <= 64, "isShiftedInt<N, S> with N + S > 64 is too wide."); | |
return isInt<N + S>(x) && (x % (1UL << S) == 0); | |
} | |
template <unsigned N> constexpr inline bool isUInt(uint64_t x) { | |
static_assert(N > 0, "isUInt<0> doesn't make sense"); | |
if constexpr (N == 8) | |
return static_cast<uint8_t>(x) == x; | |
if constexpr (N == 16) | |
return static_cast<uint16_t>(x) == x; | |
if constexpr (N == 32) | |
return static_cast<uint32_t>(x) == x; | |
if constexpr (N < 64) | |
return x < (1UL << (N)); | |
(void)x; | |
return true; | |
} | |
template <unsigned N, unsigned S> | |
constexpr inline bool isShiftedUInt(uint64_t x) { | |
static_assert( | |
N > 0, "isShiftedUInt<0> doesn't make sense (refers to a 0-bit number)"); | |
static_assert(N + S <= 64, | |
"isShiftedUInt<N, S> with N + S > 64 is too wide."); | |
return isUInt<N + S>(x) && (x % (1UL << S) == 0); | |
} | |
inline uint64_t maxUIntN(uint64_t N) { | |
(static_cast <bool> (N > 0 && N <= 64 && "integer width out of range") ? void (0) : __assert_fail ("N > 0 && N <= 64 && \"integer width out of range\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 230, __extension__ __PRETTY_FUNCTION__)); | |
return (18446744073709551615UL) >> (64 - N); | |
} | |
inline int64_t minIntN(int64_t N) { | |
(static_cast <bool> (N > 0 && N <= 64 && "integer width out of range") ? void (0) : __assert_fail ("N > 0 && N <= 64 && \"integer width out of range\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 241, __extension__ __PRETTY_FUNCTION__)); | |
return 1UL + ~(1UL << (N - 1)); | |
} | |
inline int64_t maxIntN(int64_t N) { | |
(static_cast <bool> (N > 0 && N <= 64 && "integer width out of range") ? void (0) : __assert_fail ("N > 0 && N <= 64 && \"integer width out of range\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 248, __extension__ __PRETTY_FUNCTION__)); | |
return (1UL << (N - 1)) - 1; | |
} | |
inline bool isUIntN(unsigned N, uint64_t x) { | |
return N >= 64 || x <= maxUIntN(N); | |
} | |
inline bool isIntN(unsigned N, int64_t x) { | |
return N >= 64 || (minIntN(N) <= x && x <= maxIntN(N)); | |
} | |
constexpr inline bool isMask_32(uint32_t Value) { | |
return Value && ((Value + 1) & Value) == 0; | |
} | |
constexpr inline bool isMask_64(uint64_t Value) { | |
return Value && ((Value + 1) & Value) == 0; | |
} | |
constexpr inline bool isShiftedMask_32(uint32_t Value) { | |
return Value && isMask_32((Value - 1) | Value); | |
} | |
constexpr inline bool isShiftedMask_64(uint64_t Value) { | |
return Value && isMask_64((Value - 1) | Value); | |
} | |
constexpr inline bool isPowerOf2_32(uint32_t Value) { | |
return llvm::has_single_bit(Value); | |
} | |
constexpr inline bool isPowerOf2_64(uint64_t Value) { | |
return llvm::has_single_bit(Value); | |
} | |
# 308 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
template <typename T> | |
__attribute__((deprecated("Use llvm::countl_one instead.", "llvm::countl_one"))) | |
unsigned countLeadingOnes(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countl_one<T>(Value); | |
} | |
# 323 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
template <typename T> | |
__attribute__((deprecated("Use llvm::countr_one instead.", "llvm::countr_one"))) | |
unsigned countTrailingOnes(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return llvm::countr_one<T>(Value); | |
} | |
template <typename T> | |
__attribute__((deprecated("Use llvm::popcount instead.", "llvm::popcount"))) | |
inline unsigned countPopulation(T Value) { | |
static_assert(std::is_unsigned_v<T>, | |
"Only unsigned integral types are allowed."); | |
return (unsigned)llvm::popcount(Value); | |
} | |
inline bool isShiftedMask_32(uint32_t Value, unsigned &MaskIdx, | |
unsigned &MaskLen) { | |
if (!isShiftedMask_32(Value)) | |
return false; | |
MaskIdx = llvm::countr_zero(Value); | |
MaskLen = llvm::popcount(Value); | |
return true; | |
} | |
inline bool isShiftedMask_64(uint64_t Value, unsigned &MaskIdx, | |
unsigned &MaskLen) { | |
if (!isShiftedMask_64(Value)) | |
return false; | |
MaskIdx = llvm::countr_zero(Value); | |
MaskLen = llvm::popcount(Value); | |
return true; | |
} | |
template <size_t kValue> constexpr inline size_t CTLog2() { | |
static_assert(kValue > 0 && llvm::isPowerOf2_64(kValue), | |
"Value is not a valid power of 2"); | |
return 1 + CTLog2<kValue / 2>(); | |
} | |
template <> constexpr inline size_t CTLog2<1>() { return 0; } | |
inline unsigned Log2_32(uint32_t Value) { | |
return 31 - llvm::countl_zero(Value); | |
} | |
inline unsigned Log2_64(uint64_t Value) { | |
return 63 - llvm::countl_zero(Value); | |
} | |
inline unsigned Log2_32_Ceil(uint32_t Value) { | |
return 32 - llvm::countl_zero(Value - 1); | |
} | |
inline unsigned Log2_64_Ceil(uint64_t Value) { | |
return 64 - llvm::countl_zero(Value - 1); | |
} | |
__attribute__((deprecated("use llvm::bit_cast instead", "llvm::bit_cast<double>"))) | |
inline double BitsToDouble(uint64_t Bits) { | |
static_assert(sizeof(uint64_t) == sizeof(double), "Unexpected type sizes"); | |
return llvm::bit_cast<double>(Bits); | |
} | |
__attribute__((deprecated("use llvm::bit_cast instead", "llvm::bit_cast<float>"))) | |
inline float BitsToFloat(uint32_t Bits) { | |
static_assert(sizeof(uint32_t) == sizeof(float), "Unexpected type sizes"); | |
return llvm::bit_cast<float>(Bits); | |
} | |
__attribute__((deprecated("use llvm::bit_cast instead", "llvm::bit_cast<uint64_t>"))) | |
inline uint64_t DoubleToBits(double Double) { | |
static_assert(sizeof(uint64_t) == sizeof(double), "Unexpected type sizes"); | |
return llvm::bit_cast<uint64_t>(Double); | |
} | |
__attribute__((deprecated("use llvm::bit_cast instead", "llvm::bit_cast<uint32_t>"))) | |
inline uint32_t FloatToBits(float Float) { | |
static_assert(sizeof(uint32_t) == sizeof(float), "Unexpected type sizes"); | |
return llvm::bit_cast<uint32_t>(Float); | |
} | |
constexpr inline uint64_t MinAlign(uint64_t A, uint64_t B) { | |
return (A | B) & (1 + ~(A | B)); | |
} | |
constexpr inline uint64_t NextPowerOf2(uint64_t A) { | |
A |= (A >> 1); | |
A |= (A >> 2); | |
A |= (A >> 4); | |
A |= (A >> 8); | |
A |= (A >> 16); | |
A |= (A >> 32); | |
return A + 1; | |
} | |
__attribute__((deprecated("use llvm::bit_floor instead", "llvm::bit_floor"))) | |
inline uint64_t PowerOf2Floor(uint64_t A) { | |
return llvm::bit_floor(A); | |
} | |
inline uint64_t PowerOf2Ceil(uint64_t A) { | |
if (!A) | |
return 0; | |
return NextPowerOf2(A - 1); | |
} | |
# 485 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
inline uint64_t alignTo(uint64_t Value, uint64_t Align) { | |
(static_cast <bool> (Align != 0u && "Align can't be 0.") ? void (0) : __assert_fail ("Align != 0u && \"Align can't be 0.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 486, __extension__ __PRETTY_FUNCTION__)); | |
return (Value + Align - 1) / Align * Align; | |
} | |
inline uint64_t alignToPowerOf2(uint64_t Value, uint64_t Align) { | |
(static_cast <bool> (Align != 0 && (Align & (Align - 1)) == 0 && "Align must be a power of 2") ? void (0) : __assert_fail ("Align != 0 && (Align & (Align - 1)) == 0 && \"Align must be a power of 2\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 492, __extension__ __PRETTY_FUNCTION__)); | |
return (Value + Align - 1) & -Align; | |
} | |
# 508 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
inline uint64_t alignTo(uint64_t Value, uint64_t Align, uint64_t Skew) { | |
(static_cast <bool> (Align != 0u && "Align can't be 0.") ? void (0) : __assert_fail ("Align != 0u && \"Align can't be 0.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 509, __extension__ __PRETTY_FUNCTION__)); | |
Skew %= Align; | |
return alignTo(Value - Skew, Align) + Skew; | |
} | |
template <uint64_t Align> constexpr inline uint64_t alignTo(uint64_t Value) { | |
static_assert(Align != 0u, "Align must be non-zero"); | |
return (Value + Align - 1) / Align * Align; | |
} | |
inline uint64_t divideCeil(uint64_t Numerator, uint64_t Denominator) { | |
return alignTo(Numerator, Denominator) / Denominator; | |
} | |
inline uint64_t divideNearest(uint64_t Numerator, uint64_t Denominator) { | |
return (Numerator + (Denominator / 2)) / Denominator; | |
} | |
inline uint64_t alignDown(uint64_t Value, uint64_t Align, uint64_t Skew = 0) { | |
(static_cast <bool> (Align != 0u && "Align can't be 0.") ? void (0) : __assert_fail ("Align != 0u && \"Align can't be 0.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 534, __extension__ __PRETTY_FUNCTION__)); | |
Skew %= Align; | |
return (Value - Skew) / Align * Align + Skew; | |
} | |
template <unsigned B> constexpr inline int32_t SignExtend32(uint32_t X) { | |
static_assert(B > 0, "Bit width can't be 0."); | |
static_assert(B <= 32, "Bit width out of range."); | |
return int32_t(X << (32 - B)) >> (32 - B); | |
} | |
inline int32_t SignExtend32(uint32_t X, unsigned B) { | |
(static_cast <bool> (B > 0 && "Bit width can't be 0.") ? void (0) : __assert_fail ("B > 0 && \"Bit width can't be 0.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 550, __extension__ __PRETTY_FUNCTION__)); | |
(static_cast <bool> (B <= 32 && "Bit width out of range.") ? void (0) : __assert_fail ("B <= 32 && \"Bit width out of range.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 551, __extension__ __PRETTY_FUNCTION__)); | |
return int32_t(X << (32 - B)) >> (32 - B); | |
} | |
template <unsigned B> constexpr inline int64_t SignExtend64(uint64_t x) { | |
static_assert(B > 0, "Bit width can't be 0."); | |
static_assert(B <= 64, "Bit width out of range."); | |
return int64_t(x << (64 - B)) >> (64 - B); | |
} | |
inline int64_t SignExtend64(uint64_t X, unsigned B) { | |
(static_cast <bool> (B > 0 && "Bit width can't be 0.") ? void (0) : __assert_fail ("B > 0 && \"Bit width can't be 0.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 566, __extension__ __PRETTY_FUNCTION__)); | |
(static_cast <bool> (B <= 64 && "Bit width out of range.") ? void (0) : __assert_fail ("B <= 64 && \"Bit width out of range.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h", 567, __extension__ __PRETTY_FUNCTION__)); | |
return int64_t(X << (64 - B)) >> (64 - B); | |
} | |
template <typename T> | |
std::enable_if_t<std::is_unsigned<T>::value, T> AbsoluteDifference(T X, T Y) { | |
return X > Y ? (X - Y) : (Y - X); | |
} | |
template <typename T> | |
std::enable_if_t<std::is_unsigned<T>::value, T> | |
SaturatingAdd(T X, T Y, bool *ResultOverflowed = nullptr) { | |
bool Dummy; | |
bool &Overflowed = ResultOverflowed ? *ResultOverflowed : Dummy; | |
T Z = X + Y; | |
Overflowed = (Z < X || Z < Y); | |
if (Overflowed) | |
return std::numeric_limits<T>::max(); | |
else | |
return Z; | |
} | |
template <class T, class... Ts> | |
std::enable_if_t<std::is_unsigned_v<T>, T> SaturatingAdd(T X, T Y, T Z, | |
Ts... Args) { | |
bool Overflowed = false; | |
T XY = SaturatingAdd(X, Y, &Overflowed); | |
if (Overflowed) | |
return SaturatingAdd(std::numeric_limits<T>::max(), T(1), Args...); | |
return SaturatingAdd(XY, Z, Args...); | |
} | |
template <typename T> | |
std::enable_if_t<std::is_unsigned<T>::value, T> | |
SaturatingMultiply(T X, T Y, bool *ResultOverflowed = nullptr) { | |
bool Dummy; | |
bool &Overflowed = ResultOverflowed ? *ResultOverflowed : Dummy; | |
Overflowed = false; | |
int Log2Z = Log2_64(X) + Log2_64(Y); | |
const T Max = std::numeric_limits<T>::max(); | |
int Log2Max = Log2_64(Max); | |
if (Log2Z < Log2Max) { | |
return X * Y; | |
} | |
if (Log2Z > Log2Max) { | |
Overflowed = true; | |
return Max; | |
} | |
T Z = (X >> 1) * Y; | |
if (Z & ~(Max >> 1)) { | |
Overflowed = true; | |
return Max; | |
} | |
Z <<= 1; | |
if (X & 1) | |
return SaturatingAdd(Z, Y, ResultOverflowed); | |
return Z; | |
} | |
template <typename T> | |
std::enable_if_t<std::is_unsigned<T>::value, T> | |
SaturatingMultiplyAdd(T X, T Y, T A, bool *ResultOverflowed = nullptr) { | |
bool Dummy; | |
bool &Overflowed = ResultOverflowed ? *ResultOverflowed : Dummy; | |
T Product = SaturatingMultiply(X, Y, &Overflowed); | |
if (Overflowed) | |
return Product; | |
return SaturatingAdd(A, Product, &Overflowed); | |
} | |
extern const float huge_valf; | |
template <typename T> | |
std::enable_if_t<std::is_signed<T>::value, T> AddOverflow(T X, T Y, T &Result) { | |
return __builtin_add_overflow(X, Y, &Result); | |
# 697 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
} | |
template <typename T> | |
std::enable_if_t<std::is_signed<T>::value, T> SubOverflow(T X, T Y, T &Result) { | |
return __builtin_sub_overflow(X, Y, &Result); | |
# 723 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/MathExtras.h" | |
} | |
template <typename T> | |
std::enable_if_t<std::is_signed<T>::value, T> MulOverflow(T X, T Y, T &Result) { | |
using U = std::make_unsigned_t<T>; | |
const U UX = X < 0 ? (0 - static_cast<U>(X)) : static_cast<U>(X); | |
const U UY = Y < 0 ? (0 - static_cast<U>(Y)) : static_cast<U>(Y); | |
const U UResult = UX * UY; | |
const bool IsNegative = (X < 0) ^ (Y < 0); | |
Result = IsNegative ? (0 - UResult) : UResult; | |
if (UX == 0 || UY == 0) | |
return false; | |
if (IsNegative) | |
return UX > (static_cast<U>(std::numeric_limits<T>::max()) + U(1)) / UY; | |
else | |
return UX > (static_cast<U>(std::numeric_limits<T>::max())) / UY; | |
} | |
} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" 2 | |
# 92 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h" | |
namespace llvm { | |
template <typename E, typename Enable = void> | |
struct is_bitmask_enum : std::false_type {}; | |
template <typename E> | |
struct is_bitmask_enum< | |
E, std::enable_if_t<sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >= 0>> | |
: std::true_type {}; | |
template <typename E, typename Enable = void> struct largest_bitmask_enum_bit; | |
template <typename E> | |
struct largest_bitmask_enum_bit< | |
E, std::enable_if_t<sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >= 0>> { | |
using UnderlyingTy = std::underlying_type_t<E>; | |
static constexpr UnderlyingTy value = | |
static_cast<UnderlyingTy>(E::LLVM_BITMASK_LARGEST_ENUMERATOR); | |
}; | |
namespace BitmaskEnumDetail { | |
template <typename E> constexpr std::underlying_type_t<E> Mask() { | |
return NextPowerOf2(largest_bitmask_enum_bit<E>::value) - 1; | |
} | |
template <typename E> constexpr std::underlying_type_t<E> Underlying(E Val) { | |
auto U = static_cast<std::underlying_type_t<E>>(Val); | |
(static_cast <bool> (U >= 0 && "Negative enum values are not allowed.") ? void (0) : __assert_fail ("U >= 0 && \"Negative enum values are not allowed.\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h", 129, __extension__ __PRETTY_FUNCTION__)); | |
(static_cast <bool> (U <= Mask<E>() && "Enum value too large (or largest val too small?)") ? void (0) : __assert_fail ("U <= Mask<E>() && \"Enum value too large (or largest val too small?)\"", "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h", 130, __extension__ __PRETTY_FUNCTION__)); | |
return U; | |
} | |
constexpr unsigned bitWidth(uint64_t Value) { | |
return Value ? 1 + bitWidth(Value >> 1) : 0; | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
constexpr E operator~(E Val) { | |
return static_cast<E>(~Underlying(Val) & Mask<E>()); | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
constexpr E operator|(E LHS, E RHS) { | |
return static_cast<E>(Underlying(LHS) | Underlying(RHS)); | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
constexpr E operator&(E LHS, E RHS) { | |
return static_cast<E>(Underlying(LHS) & Underlying(RHS)); | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
constexpr E operator^(E LHS, E RHS) { | |
return static_cast<E>(Underlying(LHS) ^ Underlying(RHS)); | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
E &operator|=(E &LHS, E RHS) { | |
LHS = LHS | RHS; | |
return LHS; | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
E &operator&=(E &LHS, E RHS) { | |
LHS = LHS & RHS; | |
return LHS; | |
} | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
E &operator^=(E &LHS, E RHS) { | |
LHS = LHS ^ RHS; | |
return LHS; | |
} | |
} | |
using ::llvm::BitmaskEnumDetail::operator~; using ::llvm::BitmaskEnumDetail::operator|; using ::llvm::BitmaskEnumDetail::operator&; using ::llvm::BitmaskEnumDetail::operator^; using ::llvm::BitmaskEnumDetail::operator|=; using ::llvm::BitmaskEnumDetail::operator&=; using ::llvm::BitmaskEnumDetail::operator^=; | |
template <typename E, typename = std::enable_if_t<is_bitmask_enum<E>::value>> | |
constexpr unsigned BitWidth = BitmaskEnumDetail::bitWidth(uint64_t{ | |
static_cast<std::underlying_type_t<E>>( | |
E::LLVM_BITMASK_LARGEST_ENUMERATOR)}); | |
} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/BitmaskEnum.h" 2 | |
namespace clang { | |
using ::llvm::BitmaskEnumDetail::operator~; using ::llvm::BitmaskEnumDetail::operator|; using ::llvm::BitmaskEnumDetail::operator&; using ::llvm::BitmaskEnumDetail::operator^; using ::llvm::BitmaskEnumDetail::operator|=; using ::llvm::BitmaskEnumDetail::operator&=; using ::llvm::BitmaskEnumDetail::operator^=; | |
} | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/DependenceFlags.h" 2 | |
namespace clang { | |
struct ExprDependenceScope { | |
enum ExprDependence : uint8_t { | |
UnexpandedPack = 1, | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/DependenceFlags.h" | |
Instantiation = 2, | |
Type = 4, | |
Value = 8, | |
Error = 16, | |
None = 0, | |
All = 31, | |
TypeValue = Type | Value, | |
TypeInstantiation = Type | Instantiation, | |
ValueInstantiation = Value | Instantiation, | |
TypeValueInstantiation = Type | Value | Instantiation, | |
ErrorDependent = Error | ValueInstantiation, | |
LLVM_BITMASK_LARGEST_ENUMERATOR = Error | |
}; | |
}; | |
using ExprDependence = ExprDependenceScope::ExprDependence; | |
struct TypeDependenceScope { | |
enum TypeDependence : uint8_t { | |
UnexpandedPack = 1, | |
Instantiation = 2, | |
Dependent = 4, | |
VariablyModified = 8, | |
Error = 16, | |
None = 0, | |
All = 31, | |
DependentInstantiation = Dependent | Instantiation, | |
LLVM_BITMASK_LARGEST_ENUMERATOR = Error | |
}; | |
}; | |
using TypeDependence = TypeDependenceScope::TypeDependence; | |
# 99 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/DependenceFlags.h" | |
struct NestedNameSpecifierDependenceScope { enum NestedNameSpecifierDependence : uint8_t { UnexpandedPack = 1, Instantiation = 2, Dependent = 4, Error = 8, None = 0, DependentInstantiation = Dependent | Instantiation, All = 15, LLVM_BITMASK_LARGEST_ENUMERATOR = Error }; }; using NestedNameSpecifierDependence = NestedNameSpecifierDependenceScope::NestedNameSpecifierDependence; | |
struct TemplateNameDependenceScope { enum TemplateNameDependence : uint8_t { UnexpandedPack = 1, Instantiation = 2, Dependent = 4, Error = 8, None = 0, DependentInstantiation = Dependent | Instantiation, All = 15, LLVM_BITMASK_LARGEST_ENUMERATOR = Error }; }; using TemplateNameDependence = TemplateNameDependenceScope::TemplateNameDependence; | |
struct TemplateArgumentDependenceScope { enum TemplateArgumentDependence : uint8_t { UnexpandedPack = 1, Instantiation = 2, Dependent = 4, Error = 8, None = 0, DependentInstantiation = Dependent | Instantiation, All = 15, LLVM_BITMASK_LARGEST_ENUMERATOR = Error }; }; using TemplateArgumentDependence = TemplateArgumentDependenceScope::TemplateArgumentDependence; | |
class Dependence { | |
public: | |
enum Bits : uint8_t { | |
None = 0, | |
UnexpandedPack = 1, | |
Instantiation = 2, | |
Type = 4, | |
Value = 8, | |
Dependent = Type | Value, | |
Error = 16, | |
VariablyModified = 32, | |
Syntactic = UnexpandedPack | Instantiation | Error, | |
Semantic = | |
Instantiation | Type | Value | Dependent | Error | VariablyModified, | |
LLVM_BITMASK_LARGEST_ENUMERATOR = VariablyModified | |
}; | |
Dependence() : V(None) {} | |
Dependence(TypeDependence D) | |
: V(translate(D, TypeDependence::UnexpandedPack, UnexpandedPack) | | |
translate(D, TypeDependence::Instantiation, Instantiation) | | |
translate(D, TypeDependence::Dependent, Dependent) | | |
translate(D, TypeDependence::Error, Error) | | |
translate(D, TypeDependence::VariablyModified, VariablyModified)) {} | |
Dependence(ExprDependence D) | |
: V(translate(D, ExprDependence::UnexpandedPack, UnexpandedPack) | | |
translate(D, ExprDependence::Instantiation, Instantiation) | | |
translate(D, ExprDependence::Type, Type) | | |
translate(D, ExprDependence::Value, Value) | | |
translate(D, ExprDependence::Error, Error)) {} | |
Dependence(NestedNameSpecifierDependence D) : | |
V ( translate(D, NNSDependence::UnexpandedPack, UnexpandedPack) | | |
translate(D, NNSDependence::Instantiation, Instantiation) | | |
translate(D, NNSDependence::Dependent, Dependent) | | |
translate(D, NNSDependence::Error, Error)) {} | |
Dependence(TemplateArgumentDependence D) | |
: V(translate(D, TADependence::UnexpandedPack, UnexpandedPack) | | |
translate(D, TADependence::Instantiation, Instantiation) | | |
translate(D, TADependence::Dependent, Dependent) | | |
translate(D, TADependence::Error, Error)) {} | |
Dependence(TemplateNameDependence D) | |
: V(translate(D, TNDependence::UnexpandedPack, UnexpandedPack) | | |
translate(D, TNDependence::Instantiation, Instantiation) | | |
translate(D, TNDependence::Dependent, Dependent) | | |
translate(D, TNDependence::Error, Error)) {} | |
Dependence syntactic() { | |
Dependence Result = *this; | |
Result.V &= Syntactic; | |
return Result; | |
} | |
Dependence semantic() { | |
Dependence Result = *this; | |
Result.V &= Semantic; | |
return Result; | |
} | |
TypeDependence type() const { | |
return translate(V, UnexpandedPack, TypeDependence::UnexpandedPack) | | |
translate(V, Instantiation, TypeDependence::Instantiation) | | |
translate(V, Dependent, TypeDependence::Dependent) | | |
translate(V, Error, TypeDependence::Error) | | |
translate(V, VariablyModified, TypeDependence::VariablyModified); | |
} | |
ExprDependence expr() const { | |
return translate(V, UnexpandedPack, ExprDependence::UnexpandedPack) | | |
translate(V, Instantiation, ExprDependence::Instantiation) | | |
translate(V, Type, ExprDependence::Type) | | |
translate(V, Value, ExprDependence::Value) | | |
translate(V, Error, ExprDependence::Error); | |
} | |
NestedNameSpecifierDependence nestedNameSpecifier() const { | |
return translate(V, UnexpandedPack, NNSDependence::UnexpandedPack) | | |
translate(V, Instantiation, NNSDependence::Instantiation) | | |
translate(V, Dependent, NNSDependence::Dependent) | | |
translate(V, Error, NNSDependence::Error); | |
} | |
TemplateArgumentDependence templateArgument() const { | |
return translate(V, UnexpandedPack, TADependence::UnexpandedPack) | | |
translate(V, Instantiation, TADependence::Instantiation) | | |
translate(V, Dependent, TADependence::Dependent) | | |
translate(V, Error, TADependence::Error); | |
} | |
TemplateNameDependence templateName() const { | |
return translate(V, UnexpandedPack, TNDependence::UnexpandedPack) | | |
translate(V, Instantiation, TNDependence::Instantiation) | | |
translate(V, Dependent, TNDependence::Dependent) | | |
translate(V, Error, TNDependence::Error); | |
} | |
private: | |
Bits V; | |
template <typename T, typename U> | |
static U translate(T Bits, T FromBit, U ToBit) { | |
return (Bits & FromBit) ? ToBit : static_cast<U>(0); | |
} | |
using NNSDependence = NestedNameSpecifierDependence; | |
using TADependence = TemplateArgumentDependence; | |
using TNDependence = TemplateNameDependence; | |
}; | |
inline ExprDependence toExprDependence(TemplateArgumentDependence TA) { | |
return Dependence(TA).expr(); | |
} | |
inline ExprDependence toExprDependenceForImpliedType(TypeDependence D) { | |
return Dependence(D).semantic().expr(); | |
} | |
inline ExprDependence toExprDependenceAsWritten(TypeDependence D) { | |
return Dependence(D).expr(); | |
} | |
inline ExprDependence toExprDependence(NestedNameSpecifierDependence D) { | |
return Dependence(D).expr(); | |
} | |
inline ExprDependence turnTypeToValueDependence(ExprDependence D) { | |
return D & ~ExprDependence::Type; | |
} | |
inline ExprDependence turnValueToTypeDependence(ExprDependence D) { | |
if (D & ExprDependence::Value) | |
D |= ExprDependence::Type; | |
return D; | |
} | |
inline TypeDependence toTypeDependence(ExprDependence D) { | |
return Dependence(D).type(); | |
} | |
inline TypeDependence toTypeDependence(NestedNameSpecifierDependence D) { | |
return Dependence(D).type(); | |
} | |
inline TypeDependence toTypeDependence(TemplateNameDependence D) { | |
return Dependence(D).type(); | |
} | |
inline TypeDependence toTypeDependence(TemplateArgumentDependence D) { | |
return Dependence(D).type(); | |
} | |
inline TypeDependence toSyntacticDependence(TypeDependence D) { | |
return Dependence(D).syntactic().type(); | |
} | |
inline TypeDependence toSemanticDependence(TypeDependence D) { | |
return Dependence(D).semantic().type(); | |
} | |
inline NestedNameSpecifierDependence | |
toNestedNameSpecifierDependendence(TypeDependence D) { | |
return Dependence(D).nestedNameSpecifier(); | |
} | |
inline TemplateArgumentDependence | |
toTemplateArgumentDependence(TypeDependence D) { | |
return Dependence(D).templateArgument(); | |
} | |
inline TemplateArgumentDependence | |
toTemplateArgumentDependence(TemplateNameDependence D) { | |
return Dependence(D).templateArgument(); | |
} | |
inline TemplateArgumentDependence | |
toTemplateArgumentDependence(ExprDependence D) { | |
return Dependence(D).templateArgument(); | |
} | |
inline TemplateNameDependence | |
toTemplateNameDependence(NestedNameSpecifierDependence D) { | |
return Dependence(D).templateName(); | |
} | |
using ::llvm::BitmaskEnumDetail::operator~; using ::llvm::BitmaskEnumDetail::operator|; using ::llvm::BitmaskEnumDetail::operator&; using ::llvm::BitmaskEnumDetail::operator^; using ::llvm::BitmaskEnumDetail::operator|=; using ::llvm::BitmaskEnumDetail::operator&=; using ::llvm::BitmaskEnumDetail::operator^=; | |
} | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/Type.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h" 1 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/AST/NestedNameSpecifier.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/Diagnostic.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/Diagnostic.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h" 1 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/LLVM.h" 1 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/include/clang/Basic/LLVM.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Casting.h" 1 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Casting.h" | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/type_traits.h" 1 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/type_traits.h" | |
namespace llvm { | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/type_traits.h" | |
template <typename T> class is_integral_or_enum { | |
using UnderlyingT = std::remove_reference_t<T>; | |
public: | |
static const bool value = | |
!std::is_class<UnderlyingT>::value && | |
!std::is_pointer<UnderlyingT>::value && | |
!std::is_floating_point<UnderlyingT>::value && | |
(std::is_enum<UnderlyingT>::value || | |
std::is_convertible<UnderlyingT, unsigned long long>::value); | |
}; | |
template<typename T, typename Enable = void> | |
struct add_lvalue_reference_if_not_pointer { using type = T &; }; | |
template <typename T> | |
struct add_lvalue_reference_if_not_pointer< | |
T, std::enable_if_t<std::is_pointer<T>::value>> { | |
using type = T; | |
}; | |
template<typename T, typename Enable = void> | |
struct add_const_past_pointer { using type = const T; }; | |
template <typename T> | |
struct add_const_past_pointer<T, std::enable_if_t<std::is_pointer<T>::value>> { | |
using type = const std::remove_pointer_t<T> *; | |
}; | |
template <typename T, typename Enable = void> | |
struct const_pointer_or_const_ref { | |
using type = const T &; | |
}; | |
template <typename T> | |
struct const_pointer_or_const_ref<T, | |
std::enable_if_t<std::is_pointer<T>::value>> { | |
using type = typename add_const_past_pointer<T>::type; | |
}; | |
namespace detail { | |
template<typename T> union copy_construction_triviality_helper { | |
T t; | |
copy_construction_triviality_helper() = default; | |
copy_construction_triviality_helper(const copy_construction_triviality_helper&) = default; | |
~copy_construction_triviality_helper() = default; | |
}; | |
template<typename T> union move_construction_triviality_helper { | |
T t; | |
move_construction_triviality_helper() = default; | |
move_construction_triviality_helper(move_construction_triviality_helper&&) = default; | |
~move_construction_triviality_helper() = default; | |
}; | |
template<class T> | |
union trivial_helper { | |
T t; | |
}; | |
} | |
template <typename T> | |
struct is_trivially_copy_constructible | |
: std::is_copy_constructible< | |
::llvm::detail::copy_construction_triviality_helper<T>> {}; | |
template <typename T> | |
struct is_trivially_copy_constructible<T &> : std::true_type {}; | |
template <typename T> | |
struct is_trivially_copy_constructible<T &&> : std::false_type {}; | |
template <typename T> | |
struct is_trivially_move_constructible | |
: std::is_move_constructible< | |
::llvm::detail::move_construction_triviality_helper<T>> {}; | |
template <typename T> | |
struct is_trivially_move_constructible<T &> : std::true_type {}; | |
template <typename T> | |
struct is_trivially_move_constructible<T &&> : std::true_type {}; | |
template <typename T> | |
struct is_copy_assignable { | |
template<class F> | |
static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{}); | |
static std::false_type get(...); | |
static constexpr bool value = decltype(get((T*)nullptr))::value; | |
}; | |
template <typename T> | |
struct is_move_assignable { | |
template<class F> | |
static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{}); | |
static std::false_type get(...); | |
static constexpr bool value = decltype(get((T*)nullptr))::value; | |
}; | |
} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Casting.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 1 "/usr/lib/gcc/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/assert.h" 1 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 2 3 | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/cassert" 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/Support/Casting.h" 2 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 1 3 | |
# 882 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/addressof.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/addressof.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
inline constexpr | |
__attribute__((__no_sanitize__("cfi"))) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp* | |
addressof(_Tp& __x) noexcept | |
{ | |
return __builtin_addressof(__x); | |
} | |
# 71 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/addressof.h" 3 | |
template <class _Tp> _Tp* addressof(const _Tp&&) noexcept = delete; | |
}} | |
# 883 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/align.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/align.h" 3 | |
namespace std { inline namespace __1 { | |
__attribute__((__visibility__("default"))) void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space); | |
}} | |
# 884 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocate_at_least.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocate_at_least.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/access.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/access.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, size_t _Np> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp* | |
begin(_Tp (&__array)[_Np]) | |
{ | |
return __array; | |
} | |
template <class _Tp, size_t _Np> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp* | |
end(_Tp (&__array)[_Np]) | |
{ | |
return __array + _Np; | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto | |
begin(_Cp& __c) -> decltype(__c.begin()) | |
{ | |
return __c.begin(); | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto | |
begin(const _Cp& __c) -> decltype(__c.begin()) | |
{ | |
return __c.begin(); | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto | |
end(_Cp& __c) -> decltype(__c.end()) | |
{ | |
return __c.end(); | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto | |
end(const _Cp& __c) -> decltype(__c.end()) | |
{ | |
return __c.end(); | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto cbegin(const _Cp& __c) -> decltype(std::begin(__c)) | |
{ | |
return std::begin(__c); | |
} | |
template <class _Cp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto cend(const _Cp& __c) -> decltype(std::end(__c)) | |
{ | |
return std::end(__c); | |
} | |
# 127 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/access.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/voidify.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/voidify.h" 3 | |
namespace std { inline namespace __1 { | |
template <typename _Tp> | |
__attribute__((__always_inline__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void* __voidify(_Tp& __from) { | |
return const_cast<void*>(static_cast<const volatile void*>(std::addressof(__from))); | |
} | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 1 3 | |
# 97 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 1 3 | |
# 102 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
namespace std | |
{ | |
# 153 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
class __attribute__((__visibility__("default"))) exception { | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception() noexcept {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception(const exception&) noexcept = default; | |
virtual ~exception() noexcept; | |
virtual const char* what() const noexcept; | |
}; | |
class __attribute__((__visibility__("default"))) bad_exception : public exception { | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bad_exception() noexcept {} | |
~bad_exception() noexcept override; | |
const char* what() const noexcept override; | |
}; | |
# 179 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
typedef void (*terminate_handler)(); | |
__attribute__((__visibility__("default"))) terminate_handler set_terminate(terminate_handler) noexcept; | |
__attribute__((__visibility__("default"))) terminate_handler get_terminate() noexcept; | |
[[noreturn]] __attribute__((__visibility__("default"))) void terminate() noexcept; | |
__attribute__((__visibility__("default"))) bool uncaught_exception() noexcept; | |
__attribute__((__visibility__("default"))) int uncaught_exceptions() noexcept; | |
class __attribute__((__visibility__("default"))) exception_ptr; | |
__attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; | |
[[noreturn]] __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); | |
class __attribute__((__visibility__("default"))) exception_ptr | |
{ | |
void* __ptr_; | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception_ptr() noexcept : __ptr_() {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception_ptr(nullptr_t) noexcept : __ptr_() {} | |
exception_ptr(const exception_ptr&) noexcept; | |
exception_ptr& operator=(const exception_ptr&) noexcept; | |
~exception_ptr() noexcept; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit operator bool() const noexcept | |
{return __ptr_ != nullptr;} | |
friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator==(const exception_ptr& __x, const exception_ptr& __y) noexcept | |
{return __x.__ptr_ == __y.__ptr_;} | |
friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator!=(const exception_ptr& __x, const exception_ptr& __y) noexcept | |
{return !(__x == __y);} | |
friend __attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; | |
friend __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); | |
}; | |
template<class _Ep> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception_ptr | |
make_exception_ptr(_Ep __e) noexcept | |
{ | |
# 234 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
((void)__e); | |
std::abort(); | |
} | |
# 285 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
class __attribute__((__visibility__("default"))) nested_exception | |
{ | |
exception_ptr __ptr_; | |
public: | |
nested_exception() noexcept; | |
virtual ~nested_exception() noexcept; | |
[[noreturn]] void rethrow_nested() const; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) exception_ptr nested_ptr() const noexcept {return __ptr_;} | |
}; | |
template <class _Tp> | |
struct __nested | |
: public _Tp, | |
public nested_exception | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit __nested(const _Tp& __t) : _Tp(__t) {} | |
}; | |
# 334 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
template <class _Tp> | |
[[noreturn]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void | |
throw_with_nested(_Tp&& __t) | |
{ | |
# 348 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/exception" 3 | |
((void)__t); | |
} | |
template <class _From, class _To> | |
struct __can_dynamic_cast : _BoolConstant< | |
is_polymorphic<_From>::value && | |
(!is_base_of<_To, _From>::value || | |
is_convertible<const _From*, const _To*>::value)> {}; | |
template <class _Ep> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void | |
rethrow_if_nested(const _Ep& __e, | |
__enable_if_t< __can_dynamic_cast<_Ep, nested_exception>::value>* = 0) | |
{ | |
const nested_exception* __nep = dynamic_cast<const nested_exception*>(std::addressof(__e)); | |
if (__nep) | |
__nep->rethrow_nested(); | |
} | |
template <class _Ep> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void | |
rethrow_if_nested(const _Ep&, | |
__enable_if_t<!__can_dynamic_cast<_Ep, nested_exception>::value>* = 0) | |
{ | |
} | |
} | |
# 98 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 2 3 | |
# 106 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
# 122 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
namespace std | |
{ | |
struct __attribute__((__visibility__("default"))) nothrow_t { explicit nothrow_t() = default; }; | |
extern __attribute__((__visibility__("default"))) const nothrow_t nothrow; | |
class __attribute__((__visibility__("default"))) bad_alloc | |
: public exception | |
{ | |
public: | |
bad_alloc() noexcept; | |
~bad_alloc() noexcept override; | |
const char* what() const noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) bad_array_new_length | |
: public bad_alloc | |
{ | |
public: | |
bad_array_new_length() noexcept; | |
~bad_array_new_length() noexcept override; | |
const char* what() const noexcept override; | |
}; | |
typedef void (*new_handler)(); | |
__attribute__((__visibility__("default"))) new_handler set_new_handler(new_handler) noexcept; | |
__attribute__((__visibility__("default"))) new_handler get_new_handler() noexcept; | |
# 171 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
[[noreturn]] __attribute__((__visibility__("default"))) void __throw_bad_alloc(); | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_bad_array_new_length() | |
{ | |
std::abort(); | |
} | |
enum class __attribute__((__type_visibility__("default"))) align_val_t : size_t { }; | |
# 201 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
} | |
# 211 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz) ; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
__attribute__((__visibility__("default"))) void operator delete(void* __p) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete(void* __p, const std::nothrow_t&) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz) noexcept; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz) ; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p, const std::nothrow_t&) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz) noexcept; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, std::align_val_t) ; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
__attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz, std::align_val_t) noexcept; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, std::align_val_t) ; | |
[[nodiscard]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) noexcept; | |
__attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz, std::align_val_t) noexcept; | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void* operator new (std::size_t, void* __p) noexcept {return __p;} | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void* operator new[](std::size_t, void* __p) noexcept {return __p;} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void operator delete (void*, void*) noexcept {} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void operator delete[](void*, void*) noexcept {} | |
namespace std { inline namespace __1 { | |
constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) bool __is_overaligned_for_new(size_t __align) noexcept { | |
return __align > 16UL; | |
} | |
template <class ..._Args> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void* __libcpp_operator_new(_Args ...__args) { | |
return __builtin_operator_new(__args...); | |
} | |
template <class ..._Args> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __libcpp_operator_delete(_Args ...__args) { | |
__builtin_operator_delete(__args...); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void *__libcpp_allocate(size_t __size, size_t __align) { | |
if (__is_overaligned_for_new(__align)) { | |
const align_val_t __align_val = static_cast<align_val_t>(__align); | |
return __libcpp_operator_new(__size, __align_val); | |
} | |
(void)__align; | |
return __libcpp_operator_new(__size); | |
} | |
template <class ..._Args> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __do_deallocate_handle_size(void *__ptr, size_t __size, _Args ...__args) { | |
(void)__size; | |
return std::__libcpp_operator_delete(__ptr, __args...); | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __libcpp_deallocate(void* __ptr, size_t __size, size_t __align) { | |
if (__is_overaligned_for_new(__align)) { | |
const align_val_t __align_val = static_cast<align_val_t>(__align); | |
return __do_deallocate_handle_size(__ptr, __size, __align_val); | |
} else { | |
return __do_deallocate_handle_size(__ptr, __size); | |
} | |
} | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void __libcpp_deallocate_unsized(void* __ptr, size_t __align) { | |
if (__is_overaligned_for_new(__align)) { | |
const align_val_t __align_val = static_cast<align_val_t>(__align); | |
return __libcpp_operator_delete(__ptr, __align_val); | |
} else { | |
return __libcpp_operator_delete(__ptr); | |
} | |
} | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _Tp* __launder(_Tp* __p) noexcept | |
{ | |
static_assert (!(is_function<_Tp>::value), "can't launder functions" ); | |
static_assert (!(is_same<void, __remove_cv_t<_Tp> >::value), "can't launder cv-void" ); | |
return __builtin_launder(__p); | |
} | |
template <class _Tp> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr _Tp* launder(_Tp* __p) noexcept | |
{ | |
return std::__launder(__p); | |
} | |
# 364 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/new" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 2 3 | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 3 | |
namespace std { inline namespace __1 { | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 3 | |
template <class _Tp, class... _Args, class = decltype(::new(std::declval<void*>()) _Tp(std::declval<_Args>()...))> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Tp* __construct_at(_Tp* __location, _Args&&... __args) { | |
return (__builtin_expect(static_cast<bool>(__location != nullptr), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__location != nullptr", "null pointer given to construct_at")), | |
::new (std::__voidify(*__location)) _Tp(std::forward<_Args>(__args)...); | |
} | |
template <class _ForwardIterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __destroy(_ForwardIterator, _ForwardIterator); | |
template <class _Tp, typename enable_if<!is_array<_Tp>::value, int>::type = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __destroy_at(_Tp* __loc) { | |
(__builtin_expect(static_cast<bool>(__loc != nullptr), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__loc != nullptr", "null pointer given to destroy_at")); | |
__loc->~_Tp(); | |
} | |
# 78 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 3 | |
template <class _ForwardIterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __destroy(_ForwardIterator __first, _ForwardIterator __last) { | |
for (; __first != __last; ++__first) | |
std::__destroy_at(std::addressof(*__first)); | |
return __first; | |
} | |
template <class _BidirectionalIterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_BidirectionalIterator __reverse_destroy(_BidirectionalIterator __first, _BidirectionalIterator __last) { | |
while (__last != __first) { | |
--__last; | |
std::__destroy_at(std::addressof(*__last)); | |
} | |
return __last; | |
} | |
template <class _Tp, enable_if_t<!is_array_v<_Tp>, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void destroy_at(_Tp* __loc) { | |
std::__destroy_at(__loc); | |
} | |
# 112 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/construct_at.h" 3 | |
template <class _ForwardIterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void destroy(_ForwardIterator __first, _ForwardIterator __last) { | |
(void)std::__destroy(std::move(__first), std::move(__last)); | |
} | |
template <class _ForwardIterator, class _Size> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator destroy_n(_ForwardIterator __first, _Size __n) { | |
for (; __n > 0; (void)++__first, --__n) | |
std::__destroy_at(std::addressof(*__first)); | |
return __first; | |
} | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/pointer_traits.h" 1 3 | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/pointer_traits.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class = void> | |
struct __has_element_type : false_type {}; | |
template <class _Tp> | |
struct __has_element_type<_Tp, __void_t<typename _Tp::element_type> > : true_type {}; | |
template <class _Ptr, bool = __has_element_type<_Ptr>::value> | |
struct __pointer_traits_element_type; | |
template <class _Ptr> | |
struct __pointer_traits_element_type<_Ptr, true> | |
{ | |
typedef __attribute__((__nodebug__)) typename _Ptr::element_type type; | |
}; | |
template <template <class, class...> class _Sp, class _Tp, class ..._Args> | |
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true> | |
{ | |
typedef __attribute__((__nodebug__)) typename _Sp<_Tp, _Args...>::element_type type; | |
}; | |
template <template <class, class...> class _Sp, class _Tp, class ..._Args> | |
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false> | |
{ | |
typedef __attribute__((__nodebug__)) _Tp type; | |
}; | |
template <class _Tp, class = void> | |
struct __has_difference_type : false_type {}; | |
template <class _Tp> | |
struct __has_difference_type<_Tp, __void_t<typename _Tp::difference_type> > : true_type {}; | |
template <class _Ptr, bool = __has_difference_type<_Ptr>::value> | |
struct __pointer_traits_difference_type | |
{ | |
typedef __attribute__((__nodebug__)) ptrdiff_t type; | |
}; | |
template <class _Ptr> | |
struct __pointer_traits_difference_type<_Ptr, true> | |
{ | |
typedef __attribute__((__nodebug__)) typename _Ptr::difference_type type; | |
}; | |
template <class _Tp, class _Up> | |
struct __has_rebind | |
{ | |
private: | |
template <class _Xp> static false_type __test(...); | |
#pragma GCC diagnostic push | |
# 81 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/pointer_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 81 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/pointer_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _Xp> static true_type __test(typename _Xp::template rebind<_Up>* = 0); | |
#pragma GCC diagnostic pop | |
public: | |
static const bool value = decltype(__test<_Tp>(0))::value; | |
}; | |
template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value> | |
struct __pointer_traits_rebind | |
{ | |
typedef __attribute__((__nodebug__)) typename _Tp::template rebind<_Up> type; | |
}; | |
template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up> | |
struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, true> | |
{ | |
typedef __attribute__((__nodebug__)) typename _Sp<_Tp, _Args...>::template rebind<_Up> type; | |
}; | |
template <template <class, class...> class _Sp, class _Tp, class ..._Args, class _Up> | |
struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, false> | |
{ | |
typedef _Sp<_Up, _Args...> type; | |
}; | |
template <class _Ptr> | |
struct __attribute__((__type_visibility__("default"))) pointer_traits | |
{ | |
typedef _Ptr pointer; | |
typedef typename __pointer_traits_element_type<pointer>::type element_type; | |
typedef typename __pointer_traits_difference_type<pointer>::type difference_type; | |
template <class _Up> using rebind = typename __pointer_traits_rebind<pointer, _Up>::type; | |
private: | |
struct __nat {}; | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static pointer pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) | |
{return pointer::pointer_to(__r);} | |
}; | |
template <class _Tp> | |
struct __attribute__((__type_visibility__("default"))) pointer_traits<_Tp*> | |
{ | |
typedef _Tp* pointer; | |
typedef _Tp element_type; | |
typedef ptrdiff_t difference_type; | |
template <class _Up> using rebind = _Up*; | |
private: | |
struct __nat {}; | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static pointer pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) noexcept | |
{return std::addressof(__r);} | |
}; | |
template <class _From, class _To> | |
using __rebind_pointer_t = typename pointer_traits<_From>::template rebind<_To>; | |
template <class _Pointer, class = void> | |
struct __to_address_helper; | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp* __to_address(_Tp* __p) noexcept { | |
static_assert(!is_function<_Tp>::value, "_Tp is a function type"); | |
return __p; | |
} | |
template <class _Pointer, class = void> | |
struct _HasToAddress : false_type {}; | |
template <class _Pointer> | |
struct _HasToAddress<_Pointer, | |
decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>())) | |
> : true_type {}; | |
template <class _Pointer, class = void> | |
struct _HasArrow : false_type {}; | |
template <class _Pointer> | |
struct _HasArrow<_Pointer, | |
decltype((void)std::declval<const _Pointer&>().operator->()) | |
> : true_type {}; | |
template <class _Pointer> | |
struct _IsFancyPointer { | |
static const bool value = _HasArrow<_Pointer>::value || _HasToAddress<_Pointer>::value; | |
}; | |
template <class _Pointer, class = __enable_if_t< | |
_And<is_class<_Pointer>, _IsFancyPointer<_Pointer> >::value | |
> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename decay<decltype(__to_address_helper<_Pointer>::__call(std::declval<const _Pointer&>()))>::type | |
__to_address(const _Pointer& __p) noexcept { | |
return __to_address_helper<_Pointer>::__call(__p); | |
} | |
template <class _Pointer, class> | |
struct __to_address_helper { | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static decltype(std::__to_address(std::declval<const _Pointer&>().operator->())) | |
__call(const _Pointer& __p) noexcept { | |
return std::__to_address(__p.operator->()); | |
} | |
}; | |
template <class _Pointer> | |
struct __to_address_helper<_Pointer, decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>()))> { | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static decltype(pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>())) | |
__call(const _Pointer& __p) noexcept { | |
return pointer_traits<_Pointer>::to_address(__p); | |
} | |
}; | |
# 240 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/pointer_traits.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 2 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 2 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class = void> struct __has_pointer : false_type { }; template <class _Tp> struct __has_pointer<_Tp, __void_t<typename _Tp:: pointer > > : true_type { }; | |
template <class _Tp, class _Alloc, | |
class _RawAlloc = __libcpp_remove_reference_t<_Alloc>, | |
bool = __has_pointer<_RawAlloc>::value> | |
struct __pointer { | |
using type __attribute__((__nodebug__)) = typename _RawAlloc::pointer; | |
}; | |
template <class _Tp, class _Alloc, class _RawAlloc> | |
struct __pointer<_Tp, _Alloc, _RawAlloc, false> { | |
using type __attribute__((__nodebug__)) = _Tp*; | |
}; | |
template <class _Tp, class = void> struct __has_const_pointer : false_type { }; template <class _Tp> struct __has_const_pointer<_Tp, __void_t<typename _Tp:: const_pointer > > : true_type { }; | |
template <class _Tp, class _Ptr, class _Alloc, | |
bool = __has_const_pointer<_Alloc>::value> | |
struct __const_pointer { | |
using type __attribute__((__nodebug__)) = typename _Alloc::const_pointer; | |
}; | |
template <class _Tp, class _Ptr, class _Alloc> | |
struct __const_pointer<_Tp, _Ptr, _Alloc, false> { | |
using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<const _Tp>; | |
}; | |
template <class _Tp, class = void> struct __has_void_pointer : false_type { }; template <class _Tp> struct __has_void_pointer<_Tp, __void_t<typename _Tp:: void_pointer > > : true_type { }; | |
template <class _Ptr, class _Alloc, | |
bool = __has_void_pointer<_Alloc>::value> | |
struct __void_pointer { | |
using type __attribute__((__nodebug__)) = typename _Alloc::void_pointer; | |
}; | |
template <class _Ptr, class _Alloc> | |
struct __void_pointer<_Ptr, _Alloc, false> { | |
using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<void>; | |
}; | |
template <class _Tp, class = void> struct __has_const_void_pointer : false_type { }; template <class _Tp> struct __has_const_void_pointer<_Tp, __void_t<typename _Tp:: const_void_pointer > > : true_type { }; | |
template <class _Ptr, class _Alloc, | |
bool = __has_const_void_pointer<_Alloc>::value> | |
struct __const_void_pointer { | |
using type __attribute__((__nodebug__)) = typename _Alloc::const_void_pointer; | |
}; | |
template <class _Ptr, class _Alloc> | |
struct __const_void_pointer<_Ptr, _Alloc, false> { | |
using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<const void>; | |
}; | |
template <class _Tp, class = void> struct __has_size_type : false_type { }; template <class _Tp> struct __has_size_type<_Tp, __void_t<typename _Tp:: size_type > > : true_type { }; | |
template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value> | |
struct __size_type : make_unsigned<_DiffType> { }; | |
template <class _Alloc, class _DiffType> | |
struct __size_type<_Alloc, _DiffType, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::size_type; | |
}; | |
template <class _Tp, class = void> struct __has_alloc_traits_difference_type : false_type { }; template <class _Tp> struct __has_alloc_traits_difference_type<_Tp, __void_t<typename _Tp:: difference_type > > : true_type { }; | |
template <class _Alloc, class _Ptr, bool = __has_alloc_traits_difference_type<_Alloc>::value> | |
struct __alloc_traits_difference_type { | |
using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::difference_type; | |
}; | |
template <class _Alloc, class _Ptr> | |
struct __alloc_traits_difference_type<_Alloc, _Ptr, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::difference_type; | |
}; | |
template <class _Tp, class = void> struct __has_propagate_on_container_copy_assignment : false_type { }; template <class _Tp> struct __has_propagate_on_container_copy_assignment<_Tp, __void_t<typename _Tp:: propagate_on_container_copy_assignment > > : true_type { }; | |
template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value> | |
struct __propagate_on_container_copy_assignment : false_type { }; | |
template <class _Alloc> | |
struct __propagate_on_container_copy_assignment<_Alloc, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_copy_assignment; | |
}; | |
template <class _Tp, class = void> struct __has_propagate_on_container_move_assignment : false_type { }; template <class _Tp> struct __has_propagate_on_container_move_assignment<_Tp, __void_t<typename _Tp:: propagate_on_container_move_assignment > > : true_type { }; | |
template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value> | |
struct __propagate_on_container_move_assignment : false_type { }; | |
template <class _Alloc> | |
struct __propagate_on_container_move_assignment<_Alloc, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_move_assignment; | |
}; | |
template <class _Tp, class = void> struct __has_propagate_on_container_swap : false_type { }; template <class _Tp> struct __has_propagate_on_container_swap<_Tp, __void_t<typename _Tp:: propagate_on_container_swap > > : true_type { }; | |
template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value> | |
struct __propagate_on_container_swap : false_type { }; | |
template <class _Alloc> | |
struct __propagate_on_container_swap<_Alloc, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_swap; | |
}; | |
template <class _Tp, class = void> struct __has_is_always_equal : false_type { }; template <class _Tp> struct __has_is_always_equal<_Tp, __void_t<typename _Tp:: is_always_equal > > : true_type { }; | |
template <class _Alloc, bool = __has_is_always_equal<_Alloc>::value> | |
struct __is_always_equal : is_empty<_Alloc> { }; | |
template <class _Alloc> | |
struct __is_always_equal<_Alloc, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc::is_always_equal; | |
}; | |
#pragma GCC diagnostic push | |
# 158 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 158 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _Tp, class _Up, class = void> | |
struct __has_rebind_other : false_type { }; | |
template <class _Tp, class _Up> | |
struct __has_rebind_other<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>::other> > : true_type { }; | |
template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value> | |
struct __allocator_traits_rebind { | |
static_assert(__has_rebind_other<_Tp, _Up>::value, "This allocator has to implement rebind"); | |
using type __attribute__((__nodebug__)) = typename _Tp::template rebind<_Up>::other; | |
}; | |
template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up> | |
struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true> { | |
using type __attribute__((__nodebug__)) = typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other; | |
}; | |
template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up> | |
struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false> { | |
using type __attribute__((__nodebug__)) = _Alloc<_Up, _Args...>; | |
}; | |
#pragma GCC diagnostic pop | |
template<class _Alloc, class _Tp> | |
using __allocator_traits_rebind_t = typename __allocator_traits_rebind<_Alloc, _Tp>::type; | |
#pragma GCC diagnostic push | |
# 182 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 182 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _Alloc, class _SizeType, class _ConstVoidPtr, class = void> | |
struct __has_allocate_hint : false_type { }; | |
template <class _Alloc, class _SizeType, class _ConstVoidPtr> | |
struct __has_allocate_hint<_Alloc, _SizeType, _ConstVoidPtr, decltype( | |
(void)std::declval<_Alloc>().allocate(std::declval<_SizeType>(), std::declval<_ConstVoidPtr>()) | |
)> : true_type { }; | |
template <class, class _Alloc, class ..._Args> | |
struct __has_construct_impl : false_type { }; | |
template <class _Alloc, class ..._Args> | |
struct __has_construct_impl<decltype( | |
(void)std::declval<_Alloc>().construct(std::declval<_Args>()...) | |
), _Alloc, _Args...> : true_type { }; | |
template <class _Alloc, class ..._Args> | |
struct __has_construct : __has_construct_impl<void, _Alloc, _Args...> { }; | |
template <class _Alloc, class _Pointer, class = void> | |
struct __has_destroy : false_type { }; | |
template <class _Alloc, class _Pointer> | |
struct __has_destroy<_Alloc, _Pointer, decltype( | |
(void)std::declval<_Alloc>().destroy(std::declval<_Pointer>()) | |
)> : true_type { }; | |
template <class _Alloc, class = void> | |
struct __has_max_size : false_type { }; | |
template <class _Alloc> | |
struct __has_max_size<_Alloc, decltype( | |
(void)std::declval<_Alloc&>().max_size() | |
)> : true_type { }; | |
template <class _Alloc, class = void> | |
struct __has_select_on_container_copy_construction : false_type { }; | |
template <class _Alloc> | |
struct __has_select_on_container_copy_construction<_Alloc, decltype( | |
(void)std::declval<_Alloc>().select_on_container_copy_construction() | |
)> : true_type { }; | |
#pragma GCC diagnostic pop | |
template <class _Alloc> | |
struct __attribute__((__type_visibility__("default"))) allocator_traits | |
{ | |
using allocator_type = _Alloc; | |
using value_type = typename allocator_type::value_type; | |
using pointer = typename __pointer<value_type, allocator_type>::type; | |
using const_pointer = typename __const_pointer<value_type, pointer, allocator_type>::type; | |
using void_pointer = typename __void_pointer<pointer, allocator_type>::type; | |
using const_void_pointer = typename __const_void_pointer<pointer, allocator_type>::type; | |
using difference_type = typename __alloc_traits_difference_type<allocator_type, pointer>::type; | |
using size_type = typename __size_type<allocator_type, difference_type>::type; | |
using propagate_on_container_copy_assignment = typename __propagate_on_container_copy_assignment<allocator_type>::type; | |
using propagate_on_container_move_assignment = typename __propagate_on_container_move_assignment<allocator_type>::type; | |
using propagate_on_container_swap = typename __propagate_on_container_swap<allocator_type>::type; | |
using is_always_equal = typename __is_always_equal<allocator_type>::type; | |
template <class _Tp> | |
using rebind_alloc = __allocator_traits_rebind_t<allocator_type, _Tp>; | |
template <class _Tp> | |
using rebind_traits = allocator_traits<rebind_alloc<_Tp> >; | |
# 266 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static pointer allocate(allocator_type& __a, size_type __n) { | |
return __a.allocate(__n); | |
} | |
template <class _Ap = _Alloc, class = | |
__enable_if_t<__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> > | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) { | |
#pragma GCC diagnostic push | |
# 275 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 275 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
return __a.allocate(__n, __hint); | |
#pragma GCC diagnostic pop | |
} | |
template <class _Ap = _Alloc, class = void, class = | |
__enable_if_t<!__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> > | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer) { | |
return __a.allocate(__n); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static void deallocate(allocator_type& __a, pointer __p, size_type __n) noexcept { | |
__a.deallocate(__p, __n); | |
} | |
template <class _Tp, class... _Args, class = | |
__enable_if_t<__has_construct<allocator_type, _Tp*, _Args...>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args) { | |
#pragma GCC diagnostic push | |
# 295 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 295 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
__a.construct(__p, std::forward<_Args>(__args)...); | |
#pragma GCC diagnostic pop | |
} | |
template <class _Tp, class... _Args, class = void, class = | |
__enable_if_t<!__has_construct<allocator_type, _Tp*, _Args...>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static void construct(allocator_type&, _Tp* __p, _Args&&... __args) { | |
::new ((void*)__p) _Tp(std::forward<_Args>(__args)...); | |
} | |
template <class _Tp, class = | |
__enable_if_t<__has_destroy<allocator_type, _Tp*>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static void destroy(allocator_type& __a, _Tp* __p) { | |
#pragma GCC diagnostic push | |
# 314 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 314 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
__a.destroy(__p); | |
#pragma GCC diagnostic pop | |
} | |
template <class _Tp, class = void, class = | |
__enable_if_t<!__has_destroy<allocator_type, _Tp*>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static void destroy(allocator_type&, _Tp* __p) { | |
__p->~_Tp(); | |
} | |
template <class _Ap = _Alloc, class = | |
__enable_if_t<__has_max_size<const _Ap>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static size_type max_size(const allocator_type& __a) noexcept { | |
#pragma GCC diagnostic push | |
# 333 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 333 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_traits.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
return __a.max_size(); | |
#pragma GCC diagnostic pop | |
} | |
template <class _Ap = _Alloc, class = void, class = | |
__enable_if_t<!__has_max_size<const _Ap>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static size_type max_size(const allocator_type&) noexcept { | |
return numeric_limits<size_type>::max() / sizeof(value_type); | |
} | |
template <class _Ap = _Alloc, class = | |
__enable_if_t<__has_select_on_container_copy_construction<const _Ap>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static allocator_type select_on_container_copy_construction(const allocator_type& __a) { | |
return __a.select_on_container_copy_construction(); | |
} | |
template <class _Ap = _Alloc, class = void, class = | |
__enable_if_t<!__has_select_on_container_copy_construction<const _Ap>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static allocator_type select_on_container_copy_construction(const allocator_type& __a) { | |
return __a; | |
} | |
}; | |
template <class _Traits, class _Tp> | |
using __rebind_alloc __attribute__((__nodebug__)) = typename _Traits::template rebind_alloc<_Tp>; | |
template <class _Tp> | |
struct __is_default_allocator : false_type { }; | |
template <class> class allocator; | |
template <class _Tp> | |
struct __is_default_allocator<allocator<_Tp> > : true_type { }; | |
template <class _Alloc, class = void> | |
struct __is_cpp17_move_insertable | |
: is_move_constructible<typename _Alloc::value_type> | |
{ }; | |
template <class _Alloc> | |
struct __is_cpp17_move_insertable<_Alloc, __enable_if_t< | |
!__is_default_allocator<_Alloc>::value && | |
__has_construct<_Alloc, typename _Alloc::value_type*, typename _Alloc::value_type&&>::value | |
> > : true_type { }; | |
template <class _Alloc, class = void> | |
struct __is_cpp17_copy_insertable | |
: integral_constant<bool, | |
is_copy_constructible<typename _Alloc::value_type>::value && | |
__is_cpp17_move_insertable<_Alloc>::value | |
> | |
{ }; | |
template <class _Alloc> | |
struct __is_cpp17_copy_insertable<_Alloc, __enable_if_t< | |
!__is_default_allocator<_Alloc>::value && | |
__has_construct<_Alloc, typename _Alloc::value_type*, const typename _Alloc::value_type&>::value | |
> > | |
: __is_cpp17_move_insertable<_Alloc> | |
{ }; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocate_at_least.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocate_at_least.h" 3 | |
namespace std { inline namespace __1 { | |
# 46 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocate_at_least.h" 3 | |
template <class _Pointer> | |
struct __allocation_result { | |
_Pointer ptr; | |
size_t count; | |
}; | |
template <class _Alloc> | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__allocation_result<typename allocator_traits<_Alloc>::pointer> __allocate_at_least(_Alloc& __alloc, size_t __n) { | |
return {__alloc.allocate(__n), __n}; | |
} | |
}} | |
# 885 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocation_guard.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocation_guard.h" 3 | |
namespace std { inline namespace __1 { | |
# 43 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocation_guard.h" 3 | |
template<class _Alloc> | |
struct __allocation_guard { | |
using _Pointer = typename allocator_traits<_Alloc>::pointer; | |
using _Size = typename allocator_traits<_Alloc>::size_type; | |
template<class _AllocT> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
explicit __allocation_guard(_AllocT __alloc, _Size __n) | |
: __alloc_(std::move(__alloc)) | |
, __n_(__n) | |
, __ptr_(allocator_traits<_Alloc>::allocate(__alloc_, __n_)) | |
{ } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
~__allocation_guard() noexcept { | |
if (__ptr_ != nullptr) { | |
allocator_traits<_Alloc>::deallocate(__alloc_, __ptr_, __n_); | |
} | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Pointer __release_ptr() noexcept { | |
_Pointer __tmp = __ptr_; | |
__ptr_ = nullptr; | |
return __tmp; | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Pointer __get() const noexcept { | |
return __ptr_; | |
} | |
private: | |
_Alloc __alloc_; | |
_Size __n_; | |
_Pointer __ptr_; | |
}; | |
}} | |
# 886 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdexcept" 1 3 | |
# 52 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdexcept" 3 | |
namespace std { inline namespace __1 { | |
class __attribute__((__visibility__("hidden"))) __libcpp_refstring | |
{ | |
const char* __imp_; | |
bool __uses_refcount() const; | |
public: | |
explicit __libcpp_refstring(const char* __msg); | |
__libcpp_refstring(const __libcpp_refstring& __s) noexcept; | |
__libcpp_refstring& operator=(const __libcpp_refstring& __s) noexcept; | |
~__libcpp_refstring(); | |
const char* c_str() const noexcept {return __imp_;} | |
}; | |
}} | |
namespace std | |
{ | |
class __attribute__((__visibility__("default"))) logic_error | |
: public exception | |
{ | |
private: | |
std::__libcpp_refstring __imp_; | |
public: | |
explicit logic_error(const string&); | |
explicit logic_error(const char*); | |
logic_error(const logic_error&) noexcept; | |
logic_error& operator=(const logic_error&) noexcept; | |
~logic_error() noexcept override; | |
const char* what() const noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) runtime_error | |
: public exception | |
{ | |
private: | |
std::__libcpp_refstring __imp_; | |
public: | |
explicit runtime_error(const string&); | |
explicit runtime_error(const char*); | |
runtime_error(const runtime_error&) noexcept; | |
runtime_error& operator=(const runtime_error&) noexcept; | |
~runtime_error() noexcept override; | |
const char* what() const noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) domain_error | |
: public logic_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit domain_error(const string& __s) : logic_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit domain_error(const char* __s) : logic_error(__s) {} | |
domain_error(const domain_error&) noexcept = default; | |
~domain_error() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) invalid_argument | |
: public logic_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit invalid_argument(const string& __s) : logic_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit invalid_argument(const char* __s) : logic_error(__s) {} | |
invalid_argument(const invalid_argument&) noexcept = default; | |
~invalid_argument() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) length_error | |
: public logic_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit length_error(const string& __s) : logic_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit length_error(const char* __s) : logic_error(__s) {} | |
length_error(const length_error&) noexcept = default; | |
~length_error() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) out_of_range | |
: public logic_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit out_of_range(const string& __s) : logic_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit out_of_range(const char* __s) : logic_error(__s) {} | |
out_of_range(const out_of_range&) noexcept = default; | |
~out_of_range() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) range_error | |
: public runtime_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit range_error(const string& __s) : runtime_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit range_error(const char* __s) : runtime_error(__s) {} | |
range_error(const range_error&) noexcept = default; | |
~range_error() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) overflow_error | |
: public runtime_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit overflow_error(const string& __s) : runtime_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit overflow_error(const char* __s) : runtime_error(__s) {} | |
overflow_error(const overflow_error&) noexcept = default; | |
~overflow_error() noexcept override; | |
}; | |
class __attribute__((__visibility__("default"))) underflow_error | |
: public runtime_error | |
{ | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit underflow_error(const string& __s) : runtime_error(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit underflow_error(const char* __s) : runtime_error(__s) {} | |
underflow_error(const underflow_error&) noexcept = default; | |
~underflow_error() noexcept override; | |
}; | |
} | |
namespace std { inline namespace __1 { | |
[[noreturn]] __attribute__((__visibility__("default"))) void __throw_runtime_error(const char*); | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_logic_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_domain_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_invalid_argument(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_length_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_out_of_range(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_range_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_overflow_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
[[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __throw_underflow_error(const char*__msg) | |
{ | |
((void)__msg); | |
std::abort(); | |
} | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 2 3 | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> class allocator; | |
template <> | |
class __attribute__((__type_visibility__("default"))) allocator<void> | |
{ | |
public: | |
__attribute__((__deprecated__)) typedef void* pointer; | |
__attribute__((__deprecated__)) typedef const void* const_pointer; | |
__attribute__((__deprecated__)) typedef void value_type; | |
template <class _Up> struct __attribute__((__deprecated__)) rebind {typedef allocator<_Up> other;}; | |
}; | |
template <> | |
class __attribute__((__type_visibility__("default"))) allocator<const void> | |
{ | |
public: | |
__attribute__((__deprecated__)) typedef const void* pointer; | |
__attribute__((__deprecated__)) typedef const void* const_pointer; | |
__attribute__((__deprecated__)) typedef const void value_type; | |
template <class _Up> struct __attribute__((__deprecated__)) rebind {typedef allocator<_Up> other;}; | |
}; | |
# 75 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 3 | |
template <bool _Cond, class _Unique> | |
struct __non_trivial_if { }; | |
template <class _Unique> | |
struct __non_trivial_if<true, _Unique> { | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr __non_trivial_if() noexcept { } | |
}; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) allocator | |
: private __non_trivial_if<!is_void<_Tp>::value, allocator<_Tp> > | |
{ | |
static_assert(!is_volatile<_Tp>::value, "std::allocator does not support volatile types"); | |
public: | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef _Tp value_type; | |
typedef true_type propagate_on_container_move_assignment; | |
typedef true_type is_always_equal; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
allocator() noexcept = default; | |
template <class _Up> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
allocator(const allocator<_Up>&) noexcept { } | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp* allocate(size_t __n) { | |
if (__n > allocator_traits<allocator>::max_size(*this)) | |
__throw_bad_array_new_length(); | |
if (__libcpp_is_constant_evaluated()) { | |
return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); | |
} else { | |
return static_cast<_Tp*>(std::__libcpp_allocate(__n * sizeof(_Tp), alignof(_Tp))); | |
} | |
} | |
# 126 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 3 | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void deallocate(_Tp* __p, size_t __n) noexcept { | |
if (__libcpp_is_constant_evaluated()) { | |
::operator delete(__p); | |
} else { | |
std::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), alignof(_Tp)); | |
} | |
} | |
__attribute__((__deprecated__)) typedef _Tp* pointer; | |
__attribute__((__deprecated__)) typedef const _Tp* const_pointer; | |
__attribute__((__deprecated__)) typedef _Tp& reference; | |
__attribute__((__deprecated__)) typedef const _Tp& const_reference; | |
template <class _Up> | |
struct __attribute__((__deprecated__)) rebind { | |
typedef allocator<_Up> other; | |
}; | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
pointer address(reference __x) const noexcept { | |
return std::addressof(__x); | |
} | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
const_pointer address(const_reference __x) const noexcept { | |
return std::addressof(__x); | |
} | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__deprecated__)) | |
_Tp* allocate(size_t __n, const void*) { | |
return allocate(__n); | |
} | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) size_type max_size() const noexcept { | |
return size_type(~0) / sizeof(_Tp); | |
} | |
template <class _Up, class... _Args> | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void construct(_Up* __p, _Args&&... __args) { | |
::new ((void*)__p) _Up(std::forward<_Args>(__args)...); | |
} | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void destroy(pointer __p) { | |
__p->~_Tp(); | |
} | |
}; | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) allocator<const _Tp> | |
: private __non_trivial_if<!is_void<_Tp>::value, allocator<const _Tp> > | |
{ | |
static_assert(!is_volatile<_Tp>::value, "std::allocator does not support volatile types"); | |
public: | |
typedef size_t size_type; | |
typedef ptrdiff_t difference_type; | |
typedef const _Tp value_type; | |
typedef true_type propagate_on_container_move_assignment; | |
typedef true_type is_always_equal; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
allocator() noexcept = default; | |
template <class _Up> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
allocator(const allocator<_Up>&) noexcept { } | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
const _Tp* allocate(size_t __n) { | |
if (__n > allocator_traits<allocator>::max_size(*this)) | |
__throw_bad_array_new_length(); | |
if (__libcpp_is_constant_evaluated()) { | |
return static_cast<const _Tp*>(::operator new(__n * sizeof(_Tp))); | |
} else { | |
return static_cast<const _Tp*>(std::__libcpp_allocate(__n * sizeof(_Tp), alignof(_Tp))); | |
} | |
} | |
# 215 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator.h" 3 | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void deallocate(const _Tp* __p, size_t __n) { | |
if (__libcpp_is_constant_evaluated()) { | |
::operator delete(const_cast<_Tp*>(__p)); | |
} else { | |
std::__libcpp_deallocate((void*) const_cast<_Tp *>(__p), __n * sizeof(_Tp), alignof(_Tp)); | |
} | |
} | |
__attribute__((__deprecated__)) typedef const _Tp* pointer; | |
__attribute__((__deprecated__)) typedef const _Tp* const_pointer; | |
__attribute__((__deprecated__)) typedef const _Tp& reference; | |
__attribute__((__deprecated__)) typedef const _Tp& const_reference; | |
template <class _Up> | |
struct __attribute__((__deprecated__)) rebind { | |
typedef allocator<_Up> other; | |
}; | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
const_pointer address(const_reference __x) const noexcept { | |
return std::addressof(__x); | |
} | |
[[nodiscard]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__deprecated__)) | |
const _Tp* allocate(size_t __n, const void*) { | |
return allocate(__n); | |
} | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) size_type max_size() const noexcept { | |
return size_type(~0) / sizeof(_Tp); | |
} | |
template <class _Up, class... _Args> | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void construct(_Up* __p, _Args&&... __args) { | |
::new ((void*)__p) _Up(std::forward<_Args>(__args)...); | |
} | |
__attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void destroy(pointer __p) { | |
__p->~_Tp(); | |
} | |
}; | |
template <class _Tp, class _Up> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator==(const allocator<_Tp>&, const allocator<_Up>&) noexcept {return true;} | |
template <class _Tp, class _Up> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) noexcept {return false;} | |
}} | |
# 887 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_arg_t.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_arg_t.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uses_allocator.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uses_allocator.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __has_allocator_type | |
{ | |
private: | |
template <class _Up> static false_type __test(...); | |
template <class _Up> static true_type __test(typename _Up::allocator_type* = 0); | |
public: | |
static const bool value = decltype(__test<_Tp>(0))::value; | |
}; | |
template <class _Tp, class _Alloc, bool = __has_allocator_type<_Tp>::value> | |
struct __uses_allocator | |
: public integral_constant<bool, | |
is_convertible<_Alloc, typename _Tp::allocator_type>::value> | |
{ | |
}; | |
template <class _Tp, class _Alloc> | |
struct __uses_allocator<_Tp, _Alloc, false> | |
: public false_type | |
{ | |
}; | |
template <class _Tp, class _Alloc> | |
struct __attribute__((__type_visibility__("default"))) uses_allocator | |
: public __uses_allocator<_Tp, _Alloc> | |
{ | |
}; | |
template <class _Tp, class _Alloc> | |
inline constexpr size_t uses_allocator_v = uses_allocator<_Tp, _Alloc>::value; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_arg_t.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_arg_t.h" 3 | |
namespace std { inline namespace __1 { | |
struct __attribute__((__type_visibility__("default"))) allocator_arg_t { explicit allocator_arg_t() = default; }; | |
constexpr allocator_arg_t allocator_arg = allocator_arg_t(); | |
template <class _Tp, class _Alloc, class ..._Args> | |
struct __uses_alloc_ctor_imp | |
{ | |
typedef __attribute__((__nodebug__)) __remove_cvref_t<_Alloc> _RawAlloc; | |
static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value; | |
static const bool __ic = | |
is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value; | |
static const int value = __ua ? 2 - __ic : 0; | |
}; | |
template <class _Tp, class _Alloc, class ..._Args> | |
struct __uses_alloc_ctor | |
: integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value> | |
{}; | |
template <class _Tp, class _Allocator, class... _Args> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __user_alloc_construct_impl (integral_constant<int, 0>, _Tp *__storage, const _Allocator &, _Args &&... __args ) | |
{ | |
new (__storage) _Tp (std::forward<_Args>(__args)...); | |
} | |
template <class _Tp, class _Allocator, class... _Args> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __user_alloc_construct_impl (integral_constant<int, 1>, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) | |
{ | |
new (__storage) _Tp (allocator_arg, __a, std::forward<_Args>(__args)...); | |
} | |
template <class _Tp, class _Allocator, class... _Args> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __user_alloc_construct_impl (integral_constant<int, 2>, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) | |
{ | |
new (__storage) _Tp (std::forward<_Args>(__args)..., __a); | |
} | |
}} | |
# 888 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/assume_aligned.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/assume_aligned.h" 3 | |
namespace std { inline namespace __1 { | |
# 44 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/assume_aligned.h" 3 | |
}} | |
# 890 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/auto_ptr.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/auto_ptr.h" 3 | |
# 891 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/compressed_pair.h" 1 3 | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/compressed_pair.h" 3 | |
namespace std { inline namespace __1 { | |
struct __default_init_tag {}; | |
struct __value_init_tag {}; | |
template <class _Tp, int _Idx, bool _CanBeEmptyBase = is_empty<_Tp>::value && !__libcpp_is_final<_Tp>::value> | |
struct __compressed_pair_elem { | |
using _ParamT = _Tp; | |
using reference = _Tp&; | |
using const_reference = const _Tp&; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr explicit __compressed_pair_elem(__default_init_tag) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr explicit __compressed_pair_elem(__value_init_tag) : __value_() {} | |
template <class _Up, class = __enable_if_t<!is_same<__compressed_pair_elem, typename decay<_Up>::type>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair_elem(_Up&& __u) : __value_(std::forward<_Up>(__u)) {} | |
template <class... _Args, size_t... _Indices> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args, __tuple_indices<_Indices...>) | |
: __value_(std::forward<_Args>(std::get<_Indices>(__args))...) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr reference __get() noexcept { return __value_; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr const_reference __get() const noexcept { return __value_; } | |
private: | |
_Tp __value_; | |
}; | |
template <class _Tp, int _Idx> | |
struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp { | |
using _ParamT = _Tp; | |
using reference = _Tp&; | |
using const_reference = const _Tp&; | |
using __value_type = _Tp; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr explicit __compressed_pair_elem() = default; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr explicit __compressed_pair_elem(__default_init_tag) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr explicit __compressed_pair_elem(__value_init_tag) : __value_type() {} | |
template <class _Up, class = __enable_if_t<!is_same<__compressed_pair_elem, typename decay<_Up>::type>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair_elem(_Up&& __u) : __value_type(std::forward<_Up>(__u)) {} | |
template <class... _Args, size_t... _Indices> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args, __tuple_indices<_Indices...>) | |
: __value_type(std::forward<_Args>(std::get<_Indices>(__args))...) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr reference __get() noexcept { return *this; } | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr const_reference __get() const noexcept { return *this; } | |
}; | |
template <class _T1, class _T2> | |
class __compressed_pair : private __compressed_pair_elem<_T1, 0>, | |
private __compressed_pair_elem<_T2, 1> { | |
public: | |
static_assert((!is_same<_T1, _T2>::value), | |
"__compressed_pair cannot be instantiated when T1 and T2 are the same type; " | |
"The current implementation is NOT ABI-compatible with the previous implementation for this configuration"); | |
using _Base1 __attribute__((__nodebug__)) = __compressed_pair_elem<_T1, 0>; | |
using _Base2 __attribute__((__nodebug__)) = __compressed_pair_elem<_T2, 1>; | |
template <bool _Dummy = true, | |
class = __enable_if_t< | |
__dependent_type<is_default_constructible<_T1>, _Dummy>::value && | |
__dependent_type<is_default_constructible<_T2>, _Dummy>::value | |
> | |
> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair() : _Base1(__value_init_tag()), _Base2(__value_init_tag()) {} | |
template <class _U1, class _U2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair(_U1&& __t1, _U2&& __t2) : _Base1(std::forward<_U1>(__t1)), _Base2(std::forward<_U2>(__t2)) {} | |
template <class... _Args1, class... _Args2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit __compressed_pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args, | |
tuple<_Args2...> __second_args) | |
: _Base1(__pc, std::move(__first_args), typename __make_tuple_indices<sizeof...(_Args1)>::type()), | |
_Base2(__pc, std::move(__second_args), typename __make_tuple_indices<sizeof...(_Args2)>::type()) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename _Base1::reference first() noexcept { | |
return static_cast<_Base1&>(*this).__get(); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename _Base1::const_reference first() const noexcept { | |
return static_cast<_Base1 const&>(*this).__get(); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename _Base2::reference second() noexcept { | |
return static_cast<_Base2&>(*this).__get(); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename _Base2::const_reference second() const noexcept { | |
return static_cast<_Base2 const&>(*this).__get(); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr static | |
_Base1* __get_first_base(__compressed_pair* __pair) noexcept { | |
return static_cast<_Base1*>(__pair); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr static | |
_Base2* __get_second_base(__compressed_pair* __pair) noexcept { | |
return static_cast<_Base2*>(__pair); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void swap(__compressed_pair& __x) | |
noexcept(__is_nothrow_swappable<_T1>::value && __is_nothrow_swappable<_T2>::value) { | |
using std::swap; | |
swap(first(), __x.first()); | |
swap(second(), __x.second()); | |
} | |
}; | |
template <class _T1, class _T2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void swap(__compressed_pair<_T1, _T2>& __x, __compressed_pair<_T1, _T2>& __y) | |
noexcept(__is_nothrow_swappable<_T1>::value && __is_nothrow_swappable<_T2>::value) { | |
__x.swap(__y); | |
} | |
}} | |
# 892 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_signed_integer.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_signed_integer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __libcpp_is_signed_integer : public false_type {}; | |
template <> struct __libcpp_is_signed_integer<signed char> : public true_type {}; | |
template <> struct __libcpp_is_signed_integer<signed short> : public true_type {}; | |
template <> struct __libcpp_is_signed_integer<signed int> : public true_type {}; | |
template <> struct __libcpp_is_signed_integer<signed long> : public true_type {}; | |
template <> struct __libcpp_is_signed_integer<signed long long> : public true_type {}; | |
template <> struct __libcpp_is_signed_integer<__int128_t> : public true_type {}; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unsigned_integer.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_unsigned_integer.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> struct __libcpp_is_unsigned_integer : public false_type {}; | |
template <> struct __libcpp_is_unsigned_integer<unsigned char> : public true_type {}; | |
template <> struct __libcpp_is_unsigned_integer<unsigned short> : public true_type {}; | |
template <> struct __libcpp_is_unsigned_integer<unsigned int> : public true_type {}; | |
template <> struct __libcpp_is_unsigned_integer<unsigned long> : public true_type {}; | |
template <> struct __libcpp_is_unsigned_integer<unsigned long long> : public true_type {}; | |
template <> struct __libcpp_is_unsigned_integer<__uint128_t> : public true_type {}; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 2 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 3 | |
namespace std { inline namespace __1 { | |
# 50 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/arithmetic.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/derived_from.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/derived_from.h" 3 | |
namespace std { inline namespace __1 { | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/derived_from.h" 3 | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/invocable.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/invocable.h" 3 | |
namespace std { inline namespace __1 { | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/invocable.h" 3 | |
}} | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/predicate.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/predicate.h" 3 | |
namespace std { inline namespace __1 { | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/predicate.h" 3 | |
}} | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/regular.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/regular.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/semiregular.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/semiregular.h" 3 | |
namespace std { inline namespace __1 { | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/semiregular.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/regular.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/regular.h" 3 | |
namespace std { inline namespace __1 { | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/regular.h" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/relation.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/relation.h" 3 | |
namespace std { inline namespace __1 { | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/relation.h" 3 | |
}} | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/incrementable_traits.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_primary_template.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_primary_template.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_valid_expansion.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_valid_expansion.h" 3 | |
namespace std { inline namespace __1 { | |
template <template <class...> class _Templ, class ..._Args, class = _Templ<_Args...> > | |
true_type __sfinae_test_impl(int); | |
template <template <class...> class, class ...> | |
false_type __sfinae_test_impl(...); | |
template <template <class ...> class _Templ, class ..._Args> | |
using _IsValidExpansion __attribute__((__nodebug__)) = decltype(std::__sfinae_test_impl<_Templ, _Args...>(0)); | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_primary_template.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_primary_template.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
using __test_for_primary_template = __enable_if_t< | |
_IsSame<_Tp, typename _Tp::__primary_template>::value | |
>; | |
template <class _Tp> | |
using __is_primary_template = _IsValidExpansion< | |
__test_for_primary_template, _Tp | |
>; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/incrementable_traits.h" 2 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
namespace std { inline namespace __1 { | |
# 76 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/incrementable_traits.h" 3 | |
}} | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_move.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_move.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/readable_traits.h" 1 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/readable_traits.h" 3 | |
namespace std { inline namespace __1 { | |
# 90 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/readable_traits.h" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 2 3 | |
# 42 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 3 | |
namespace std { inline namespace __1 { | |
# 67 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 3 | |
template <class _Iter> | |
struct __attribute__((__type_visibility__("default"))) iterator_traits; | |
struct __attribute__((__type_visibility__("default"))) input_iterator_tag {}; | |
struct __attribute__((__type_visibility__("default"))) output_iterator_tag {}; | |
struct __attribute__((__type_visibility__("default"))) forward_iterator_tag : public input_iterator_tag {}; | |
struct __attribute__((__type_visibility__("default"))) bidirectional_iterator_tag : public forward_iterator_tag {}; | |
struct __attribute__((__type_visibility__("default"))) random_access_iterator_tag : public bidirectional_iterator_tag {}; | |
template <class _Iter> | |
struct __iter_traits_cache { | |
using type = _If< | |
__is_primary_template<iterator_traits<_Iter> >::value, | |
_Iter, | |
iterator_traits<_Iter> | |
>; | |
}; | |
template <class _Iter> | |
using _ITER_TRAITS = typename __iter_traits_cache<_Iter>::type; | |
struct __iter_concept_concept_test { | |
template <class _Iter> | |
using _Apply = typename _ITER_TRAITS<_Iter>::iterator_concept; | |
}; | |
struct __iter_concept_category_test { | |
template <class _Iter> | |
using _Apply = typename _ITER_TRAITS<_Iter>::iterator_category; | |
}; | |
struct __iter_concept_random_fallback { | |
template <class _Iter> | |
using _Apply = __enable_if_t< | |
__is_primary_template<iterator_traits<_Iter> >::value, | |
random_access_iterator_tag | |
>; | |
}; | |
template <class _Iter, class _Tester> struct __test_iter_concept | |
: _IsValidExpansion<_Tester::template _Apply, _Iter>, | |
_Tester | |
{ | |
}; | |
template <class _Iter> | |
struct __iter_concept_cache { | |
using type = _Or< | |
__test_iter_concept<_Iter, __iter_concept_concept_test>, | |
__test_iter_concept<_Iter, __iter_concept_category_test>, | |
__test_iter_concept<_Iter, __iter_concept_random_fallback> | |
>; | |
}; | |
template <class _Iter> | |
using _ITER_CONCEPT = typename __iter_concept_cache<_Iter>::type::template _Apply<_Iter>; | |
template <class _Tp> | |
struct __has_iterator_typedefs | |
{ | |
private: | |
template <class _Up> static false_type __test(...); | |
template <class _Up> static true_type __test(__void_t<typename _Up::iterator_category>* = nullptr, | |
__void_t<typename _Up::difference_type>* = nullptr, | |
__void_t<typename _Up::value_type>* = nullptr, | |
__void_t<typename _Up::reference>* = nullptr, | |
__void_t<typename _Up::pointer>* = nullptr); | |
public: | |
static const bool value = decltype(__test<_Tp>(0,0,0,0,0))::value; | |
}; | |
template <class _Tp> | |
struct __has_iterator_category | |
{ | |
private: | |
template <class _Up> static false_type __test(...); | |
template <class _Up> static true_type __test(typename _Up::iterator_category* = nullptr); | |
public: | |
static const bool value = decltype(__test<_Tp>(nullptr))::value; | |
}; | |
template <class _Tp> | |
struct __has_iterator_concept | |
{ | |
private: | |
template <class _Up> static false_type __test(...); | |
template <class _Up> static true_type __test(typename _Up::iterator_concept* = nullptr); | |
public: | |
static const bool value = decltype(__test<_Tp>(nullptr))::value; | |
}; | |
# 386 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 3 | |
template <class _Iter, bool> struct __iterator_traits {}; | |
template <class _Iter, bool> struct __iterator_traits_impl {}; | |
template <class _Iter> | |
struct __iterator_traits_impl<_Iter, true> | |
{ | |
typedef typename _Iter::difference_type difference_type; | |
typedef typename _Iter::value_type value_type; | |
typedef typename _Iter::pointer pointer; | |
typedef typename _Iter::reference reference; | |
typedef typename _Iter::iterator_category iterator_category; | |
}; | |
template <class _Iter> | |
struct __iterator_traits<_Iter, true> | |
: __iterator_traits_impl | |
< | |
_Iter, | |
is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value || | |
is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value | |
> | |
{}; | |
template <class _Iter> | |
struct __attribute__((__type_visibility__("default"))) iterator_traits | |
: __iterator_traits<_Iter, __has_iterator_typedefs<_Iter>::value> { | |
using __primary_template = iterator_traits; | |
}; | |
template<class _Tp> | |
struct __attribute__((__type_visibility__("default"))) iterator_traits<_Tp*> | |
{ | |
typedef ptrdiff_t difference_type; | |
typedef __remove_cv_t<_Tp> value_type; | |
typedef _Tp* pointer; | |
typedef _Tp& reference; | |
typedef random_access_iterator_tag iterator_category; | |
}; | |
template <class _Tp, class _Up, bool = __has_iterator_category<iterator_traits<_Tp> >::value> | |
struct __has_iterator_category_convertible_to | |
: is_convertible<typename iterator_traits<_Tp>::iterator_category, _Up> | |
{}; | |
template <class _Tp, class _Up> | |
struct __has_iterator_category_convertible_to<_Tp, _Up, false> : false_type {}; | |
template <class _Tp, class _Up, bool = __has_iterator_concept<_Tp>::value> | |
struct __has_iterator_concept_convertible_to | |
: is_convertible<typename _Tp::iterator_concept, _Up> | |
{}; | |
template <class _Tp, class _Up> | |
struct __has_iterator_concept_convertible_to<_Tp, _Up, false> : false_type {}; | |
template <class _Tp> | |
struct __is_cpp17_input_iterator : public __has_iterator_category_convertible_to<_Tp, input_iterator_tag> {}; | |
template <class _Tp> | |
struct __is_cpp17_forward_iterator : public __has_iterator_category_convertible_to<_Tp, forward_iterator_tag> {}; | |
template <class _Tp> | |
struct __is_cpp17_bidirectional_iterator : public __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag> {}; | |
template <class _Tp> | |
struct __is_cpp17_random_access_iterator : public __has_iterator_category_convertible_to<_Tp, random_access_iterator_tag> {}; | |
# 481 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator_traits.h" 3 | |
template <class _Tp> | |
struct __is_cpp17_contiguous_iterator : false_type {}; | |
template <class _Up> | |
struct __is_cpp17_contiguous_iterator<_Up*> : true_type {}; | |
template <class _Iter> | |
class __wrap_iter; | |
template <class _Tp> | |
struct __is_exactly_cpp17_input_iterator | |
: public integral_constant<bool, | |
__has_iterator_category_convertible_to<_Tp, input_iterator_tag>::value && | |
!__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value> {}; | |
template <class _Tp> | |
struct __is_exactly_cpp17_forward_iterator | |
: public integral_constant<bool, | |
__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value && | |
!__has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value> {}; | |
template <class _Tp> | |
struct __is_exactly_cpp17_bidirectional_iterator | |
: public integral_constant<bool, | |
__has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value && | |
!__has_iterator_category_convertible_to<_Tp, random_access_iterator_tag>::value> {}; | |
template<class _InputIterator> | |
using __iter_value_type = typename iterator_traits<_InputIterator>::value_type; | |
template<class _InputIterator> | |
using __iter_key_type = __remove_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>; | |
template<class _InputIterator> | |
using __iter_mapped_type = typename iterator_traits<_InputIterator>::value_type::second_type; | |
template<class _InputIterator> | |
using __iter_to_alloc_type = pair< | |
typename add_const<typename iterator_traits<_InputIterator>::value_type::first_type>::type, | |
typename iterator_traits<_InputIterator>::value_type::second_type>; | |
template <class _Iter> | |
using __iterator_category_type = typename iterator_traits<_Iter>::iterator_category; | |
template <class _Iter> | |
using __iterator_pointer_type = typename iterator_traits<_Iter>::pointer; | |
template <class _Iter> | |
using __iter_diff_t = typename iterator_traits<_Iter>::difference_type; | |
template<class _InputIterator> | |
using __iter_value_type = typename iterator_traits<_InputIterator>::value_type; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_move.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_move.h" 3 | |
namespace std { inline namespace __1 { | |
# 102 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_move.h" 3 | |
}} | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 2 3 | |
# 45 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 3 | |
namespace std { inline namespace __1 { | |
# 298 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/concepts.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/access.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/access.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_borrowed_range.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_borrowed_range.h" 3 | |
namespace std { inline namespace __1 { | |
# 38 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_borrowed_range.h" 3 | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/access.h" 2 3 | |
# 28 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/access.h" 3 | |
namespace std { inline namespace __1 { | |
# 228 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/access.h" 3 | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/data.h" 1 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/data.h" 3 | |
namespace std { inline namespace __1 { | |
# 110 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/data.h" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_view.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_view.h" 3 | |
namespace std { inline namespace __1 { | |
# 48 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/enable_view.h" 3 | |
}} | |
# 26 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/size.h" 1 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/size.h" 3 | |
namespace std { inline namespace __1 { | |
# 146 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/size.h" 3 | |
}} | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 2 3 | |
# 36 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 3 | |
namespace std { inline namespace __1 { | |
# 145 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/concepts.h" 3 | |
}} | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 2 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 3 | |
namespace std { inline namespace __1 { | |
# 67 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/concepts.h" 3 | |
}} | |
# 893 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_construct_at.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_construct_at.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/dangling.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/dangling.h" 3 | |
namespace std { inline namespace __1 { | |
# 40 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/dangling.h" 3 | |
}} | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_construct_at.h" 2 3 | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_construct_at.h" 3 | |
namespace std { inline namespace __1 { | |
# 123 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_construct_at.h" 3 | |
}} | |
# 896 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/in_out_result.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/in_out_result.h" 3 | |
namespace std { inline namespace __1 { | |
# 51 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/in_out_result.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iter_swap.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iter_swap.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _ForwardIterator1, class _ForwardIterator2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void iter_swap(_ForwardIterator1 __a, | |
_ForwardIterator2 __b) | |
noexcept(noexcept(swap(*std::declval<_ForwardIterator1>(), *std::declval<_ForwardIterator2>()))) { | |
swap(*__a, *__b); | |
} | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/ranges_iterator_concept.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/ranges_iterator_concept.h" 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/advance.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/advance.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/convert_to_integral.h" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__utility/convert_to_integral.h" 3 | |
namespace std { inline namespace __1 { | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
int __convert_to_integral(int __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
unsigned __convert_to_integral(unsigned __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
long __convert_to_integral(long __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
unsigned long __convert_to_integral(unsigned long __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
long long __convert_to_integral(long long __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
unsigned long long __convert_to_integral(unsigned long long __val) {return __val; } | |
template<typename _Fp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename enable_if<is_floating_point<_Fp>::value, long long>::type | |
__convert_to_integral(_Fp __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__int128_t __convert_to_integral(__int128_t __val) { return __val; } | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__uint128_t __convert_to_integral(__uint128_t __val) { return __val; } | |
template <class _Tp, bool = is_enum<_Tp>::value> | |
struct __sfinae_underlying_type | |
{ | |
typedef typename underlying_type<_Tp>::type type; | |
typedef decltype(((type)1) + 0) __promoted_type; | |
}; | |
template <class _Tp> | |
struct __sfinae_underlying_type<_Tp, false> {}; | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename __sfinae_underlying_type<_Tp>::__promoted_type | |
__convert_to_integral(_Tp __val) { return __val; } | |
}} | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/advance.h" 2 3 | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/advance.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _InputIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void __advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag) { | |
for (; __n > 0; --__n) | |
++__i; | |
} | |
template <class _BiDirIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void __advance(_BiDirIter& __i, typename iterator_traits<_BiDirIter>::difference_type __n, bidirectional_iterator_tag) { | |
if (__n >= 0) | |
for (; __n > 0; --__n) | |
++__i; | |
else | |
for (; __n < 0; ++__n) | |
--__i; | |
} | |
template <class _RandIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void __advance(_RandIter& __i, typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag) { | |
__i += __n; | |
} | |
template < | |
class _InputIter, class _Distance, | |
class _IntegralDistance = decltype(std::__convert_to_integral(std::declval<_Distance>())), | |
class = __enable_if_t<is_integral<_IntegralDistance>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
void advance(_InputIter& __i, _Distance __orig_n) { | |
typedef typename iterator_traits<_InputIter>::difference_type _Difference; | |
_Difference __n = static_cast<_Difference>(std::__convert_to_integral(__orig_n)); | |
(__builtin_expect(static_cast<bool>(__n >= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__n >= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value", "Attempt to advance(it, n) with negative n on a non-bidirectional iterator")); | |
std::__advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category()); | |
} | |
# 201 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/advance.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/distance.h" 1 3 | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/distance.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _InputIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename iterator_traits<_InputIter>::difference_type | |
__distance(_InputIter __first, _InputIter __last, input_iterator_tag) | |
{ | |
typename iterator_traits<_InputIter>::difference_type __r(0); | |
for (; __first != __last; ++__first) | |
++__r; | |
return __r; | |
} | |
template <class _RandIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename iterator_traits<_RandIter>::difference_type | |
__distance(_RandIter __first, _RandIter __last, random_access_iterator_tag) | |
{ | |
return __last - __first; | |
} | |
template <class _InputIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename iterator_traits<_InputIter>::difference_type | |
distance(_InputIter __first, _InputIter __last) | |
{ | |
return std::__distance(__first, __last, typename iterator_traits<_InputIter>::iterator_category()); | |
} | |
# 106 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/distance.h" 3 | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_swap.h" 1 3 | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_swap.h" 3 | |
namespace std { inline namespace __1 { | |
# 111 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iter_swap.h" 3 | |
}} | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/next.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/next.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _InputIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename enable_if<__is_cpp17_input_iterator<_InputIter>::value, _InputIter>::type | |
next(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = 1) { | |
(__builtin_expect(static_cast<bool>(__n >= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__n >= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value", "Attempt to next(it, n) with negative n on a non-bidirectional iterator")); | |
std::advance(__x, __n); | |
return __x; | |
} | |
# 82 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/next.h" 3 | |
}} | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/prev.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/prev.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _InputIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
typename enable_if<__is_cpp17_input_iterator<_InputIter>::value, _InputIter>::type | |
prev(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = 1) { | |
(__builtin_expect(static_cast<bool>(__n <= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value), 1) ? (void)0 : ::std::__libcpp_verbose_abort("%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), "__n <= 0 || __is_cpp17_bidirectional_iterator<_InputIter>::value", "Attempt to prev(it, n) with a positive n on a non-bidirectional iterator")); | |
std::advance(__x, -__n); | |
return __x; | |
} | |
# 75 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/prev.h" 3 | |
}} | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 2 3 | |
# 34 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _AlgPolicy> struct _IterOps; | |
# 66 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/iterator_operations.h" 3 | |
struct _ClassicAlgPolicy {}; | |
template <> | |
struct _IterOps<_ClassicAlgPolicy> { | |
template <class _Iter> | |
using __value_type = typename iterator_traits<_Iter>::value_type; | |
template <class _Iter> | |
using __iterator_category = typename iterator_traits<_Iter>::iterator_category; | |
template <class _Iter> | |
using __difference_type = typename iterator_traits<_Iter>::difference_type; | |
template <class _Iter, class _Distance> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static void advance(_Iter& __iter, _Distance __count) { | |
std::advance(__iter, __count); | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static typename iterator_traits<_Iter>::difference_type distance(_Iter __first, _Iter __last) { | |
return std::distance(__first, __last); | |
} | |
template <class _Iter> | |
using __deref_t = decltype(*std::declval<_Iter&>()); | |
template <class _Iter> | |
using __move_t = decltype(std::move(*std::declval<_Iter&>())); | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static void __validate_iter_reference() { | |
static_assert(is_same<__deref_t<_Iter>, typename iterator_traits<__remove_cvref_t<_Iter> >::reference>::value, | |
"It looks like your iterator's `iterator_traits<It>::reference` does not match the return type of " | |
"dereferencing the iterator, i.e., calling `*it`. This is undefined behavior according to [input.iterators] " | |
"and can lead to dangling reference issues at runtime, so we are flagging this."); | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr static | |
__enable_if_t< | |
is_reference<__deref_t<_Iter> >::value, | |
__move_t<_Iter> > | |
__iter_move(_Iter&& __i) { | |
__validate_iter_reference<_Iter>(); | |
return std::move(*std::forward<_Iter>(__i)); | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr static | |
__enable_if_t< | |
!is_reference<__deref_t<_Iter> >::value, | |
__deref_t<_Iter> > | |
__iter_move(_Iter&& __i) { | |
__validate_iter_reference<_Iter>(); | |
return *std::forward<_Iter>(__i); | |
} | |
template <class _Iter1, class _Iter2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
static void iter_swap(_Iter1&& __a, _Iter2&& __b) { | |
std::iter_swap(std::forward<_Iter1>(__a), std::forward<_Iter2>(__b)); | |
} | |
template <class _Iterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr | |
_Iterator next(_Iterator, _Iterator __last) { | |
return __last; | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr | |
__remove_cvref_t<_Iter> next(_Iter&& __it, | |
typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { | |
return std::next(std::forward<_Iter>(__it), __n); | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr | |
__remove_cvref_t<_Iter> prev(_Iter&& __iter, | |
typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { | |
return std::prev(std::forward<_Iter>(__iter), __n); | |
} | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) static constexpr | |
void __advance_to(_Iter& __first, _Iter __last) { | |
__first = __last; | |
} | |
}; | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_iter.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
namespace std { inline namespace __1 { | |
# 35 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
template <class _Iter, bool = __is_cpp17_contiguous_iterator<_Iter>::value> | |
struct __unwrap_iter_impl { | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Iter __rewrap(_Iter, _Iter __iter) { return __iter; } | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Iter __unwrap(_Iter __i) noexcept { return __i; } | |
}; | |
template <class _Iter> | |
struct __unwrap_iter_impl<_Iter, true> { | |
using _ToAddressT = decltype(std::__to_address(std::declval<_Iter>())); | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Iter __rewrap(_Iter __orig_iter, _ToAddressT __unwrapped_iter) { | |
return __orig_iter + (__unwrapped_iter - std::__to_address(__orig_iter)); | |
} | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _ToAddressT __unwrap(_Iter __i) noexcept { | |
return std::__to_address(__i); | |
} | |
}; | |
template<class _Iter, | |
class _Impl = __unwrap_iter_impl<_Iter>, | |
__enable_if_t<is_copy_constructible<_Iter>::value, int> = 0> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
decltype(_Impl::__unwrap(std::declval<_Iter>())) __unwrap_iter(_Iter __i) noexcept { | |
return _Impl::__unwrap(__i); | |
} | |
# 75 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_iter.h" 3 | |
template <class _OrigIter, class _Iter, class _Impl = __unwrap_iter_impl<_OrigIter> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _OrigIter __rewrap_iter(_OrigIter __orig_iter, _Iter __iter) noexcept { | |
return _Impl::__rewrap(std::move(__orig_iter), std::move(__iter)); | |
} | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_range.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_range.h" 3 | |
namespace std { inline namespace __1 { | |
# 84 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/unwrap_range.h" 3 | |
template <class _Iter, class _Unwrapped = decltype(std::__unwrap_iter(std::declval<_Iter>()))> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_Unwrapped, _Unwrapped> __unwrap_range(_Iter __first, _Iter __last) { | |
return std::make_pair(std::__unwrap_iter(std::move(__first)), std::__unwrap_iter(std::move(__last))); | |
} | |
template <class _Iter, class _Unwrapped = decltype(std::__unwrap_iter(std::declval<_Iter>()))> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _Iter __rewrap_range(_Iter __orig_iter, _Unwrapped __iter) { | |
return std::__rewrap_iter(std::move(__orig_iter), std::move(__iter)); | |
} | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_always_bitcastable.h" 1 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _From, class _To> | |
struct __is_always_bitcastable { | |
using _UnqualFrom = __remove_cv_t<_From>; | |
using _UnqualTo = __remove_cv_t<_To>; | |
static const bool value = | |
(is_same<_UnqualFrom, _UnqualTo>::value && is_trivially_copyable<_UnqualFrom>::value) || | |
# 72 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 | |
( | |
sizeof(_From) == sizeof(_To) && | |
is_integral<_From>::value && | |
is_integral<_To>::value && | |
!is_same<_UnqualTo, bool>::value | |
); | |
}; | |
}} | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 2 3 | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _From, class _To> | |
struct __can_lower_copy_assignment_to_memmove { | |
static const bool value = | |
__is_always_bitcastable<_From, _To>::value && | |
is_trivially_assignable<_To&, const _From&>::value && | |
!is_volatile<_From>::value && | |
!is_volatile<_To>::value; | |
}; | |
template <class _From, class _To> | |
struct __can_lower_move_assignment_to_memmove { | |
static const bool value = | |
__is_always_bitcastable<_From, _To>::value && | |
is_trivially_assignable<_To&, _From&&>::value && | |
!is_volatile<_From>::value && | |
!is_volatile<_To>::value; | |
}; | |
template <class _In, class _Out> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_In*, _Out*> | |
__copy_trivial_impl(_In* __first, _In* __last, _Out* __result) { | |
const size_t __n = static_cast<size_t>(__last - __first); | |
::__builtin_memmove(__result, __first, __n * sizeof(_Out)); | |
return std::make_pair(__last, __result + __n); | |
} | |
template <class _In, class _Out> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_In*, _Out*> | |
__copy_backward_trivial_impl(_In* __first, _In* __last, _Out* __result) { | |
const size_t __n = static_cast<size_t>(__last - __first); | |
__result -= __n; | |
::__builtin_memmove(__result, __first, __n * sizeof(_Out)); | |
return std::make_pair(__last, __result); | |
} | |
template <class _F1, class _F2> | |
struct __overload : _F1, _F2 { | |
using _F1::operator(); | |
using _F2::operator(); | |
}; | |
template <class _InIter, class _Sent, class _OutIter, class = void> | |
struct __can_rewrap : false_type {}; | |
template <class _InIter, class _Sent, class _OutIter> | |
struct __can_rewrap<_InIter, | |
_Sent, | |
_OutIter, | |
__enable_if_t< is_copy_constructible<_InIter>::value && | |
is_copy_constructible<_OutIter>::value > > : true_type {}; | |
template <class _Algorithm, | |
class _InIter, | |
class _Sent, | |
class _OutIter, | |
__enable_if_t<__can_rewrap<_InIter, _Sent, _OutIter>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
__unwrap_and_dispatch(_InIter __first, _Sent __last, _OutIter __out_first) { | |
auto __range = std::__unwrap_range(__first, std::move(__last)); | |
auto __result = _Algorithm()(std::move(__range.first), std::move(__range.second), std::__unwrap_iter(__out_first)); | |
return std::make_pair(std::__rewrap_range<_Sent>(std::move(__first), std::move(__result.first)), | |
std::__rewrap_iter(std::move(__out_first), std::move(__result.second))); | |
} | |
template <class _Algorithm, | |
class _InIter, | |
class _Sent, | |
class _OutIter, | |
__enable_if_t<!__can_rewrap<_InIter, _Sent, _OutIter>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
__unwrap_and_dispatch(_InIter __first, _Sent __last, _OutIter __out_first) { | |
return _Algorithm()(std::move(__first), std::move(__last), std::move(__out_first)); | |
} | |
template <class _IterOps, class _InValue, class _OutIter, class = void> | |
struct __can_copy_without_conversion : false_type {}; | |
template <class _IterOps, class _InValue, class _OutIter> | |
struct __can_copy_without_conversion< | |
_IterOps, | |
_InValue, | |
_OutIter, | |
__enable_if_t<is_same<_InValue, typename _IterOps::template __value_type<_OutIter> >::value> > : true_type {}; | |
template <class _AlgPolicy, | |
class _NaiveAlgorithm, | |
class _OptimizedAlgorithm, | |
class _InIter, | |
class _Sent, | |
class _OutIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
__dispatch_copy_or_move(_InIter __first, _Sent __last, _OutIter __out_first) { | |
# 148 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy_move_common.h" 3 | |
if (__libcpp_is_constant_evaluated()) { | |
using _InValue = typename _IterOps<_AlgPolicy>::template __value_type<_InIter>; | |
if (!is_trivially_copyable<_InValue>::value || | |
!__can_copy_without_conversion<_IterOps<_AlgPolicy>, _InValue, _OutIter>::value) { | |
return std::__unwrap_and_dispatch<_NaiveAlgorithm>(std::move(__first), std::move(__last), std::move(__out_first)); | |
} | |
} | |
using _Algorithm = __overload<_NaiveAlgorithm, _OptimizedAlgorithm>; | |
return std::__unwrap_and_dispatch<_Algorithm>(std::move(__first), std::move(__last), std::move(__out_first)); | |
} | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 1 3 | |
# 12 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp.h" 1 3 | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/predicate_traits.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__type_traits/predicate_traits.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Pred, class _Lhs, class _Rhs> | |
struct __is_trivial_equality_predicate : false_type {}; | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp.h" 3 | |
namespace std { inline namespace __1 { | |
struct __equal_to { | |
template <class _T1, class _T2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr bool operator()(const _T1& __x, const _T2& __y) const { | |
return __x == __y; | |
} | |
}; | |
template <class _Lhs, class _Rhs> | |
struct __is_trivial_equality_predicate<__equal_to, _Lhs, _Rhs> : true_type {}; | |
template <class _T1, class _T2 = _T1> | |
struct __less | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T1& __x, const _T2& __y) const {return __x < __y;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T2& __x, const _T1& __y) const {return __x < __y;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T2& __x, const _T2& __y) const {return __x < __y;} | |
}; | |
template <class _T1> | |
struct __less<_T1, _T1> | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} | |
}; | |
template <class _T1> | |
struct __less<const _T1, _T1> | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} | |
}; | |
template <class _T1> | |
struct __less<_T1, const _T1> | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} | |
}; | |
}} | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp_ref_type.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp_ref_type.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__debug" 1 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__debug" 3 | |
# 211 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__debug" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr inline void __debug_db_insert_c(_Tp* __c) { | |
(void)(__c); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr inline void __debug_db_insert_i(_Tp* __i) { | |
(void)(__i); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr inline void __debug_db_erase_c(_Tp* __c) { | |
(void)(__c); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr inline void __debug_db_swap(_Tp* __lhs, _Tp* __rhs) { | |
(void)(__lhs); | |
(void)(__rhs); | |
} | |
template <class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr inline void __debug_db_invalidate_all(_Tp* __c) { | |
(void)(__c); | |
} | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp_ref_type.h" 2 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/comp_ref_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Compare> | |
struct __debug_less | |
{ | |
_Compare &__comp_; | |
constexpr | |
__debug_less(_Compare& __c) : __comp_(__c) {} | |
template <class _Tp, class _Up> | |
constexpr | |
bool operator()(const _Tp& __x, const _Up& __y) | |
{ | |
bool __r = __comp_(__x, __y); | |
if (__r) | |
__do_compare_assert(0, __y, __x); | |
return __r; | |
} | |
template <class _Tp, class _Up> | |
constexpr | |
bool operator()(_Tp& __x, _Up& __y) | |
{ | |
bool __r = __comp_(__x, __y); | |
if (__r) | |
__do_compare_assert(0, __y, __x); | |
return __r; | |
} | |
template <class _LHS, class _RHS> | |
constexpr | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
decltype((void)std::declval<_Compare&>()( | |
std::declval<_LHS &>(), std::declval<_RHS &>())) | |
__do_compare_assert(int, _LHS & __l, _RHS & __r) { | |
((void)0); | |
(void)__l; | |
(void)__r; | |
} | |
template <class _LHS, class _RHS> | |
constexpr | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void __do_compare_assert(long, _LHS &, _RHS &) {} | |
}; | |
template <class _Comp> | |
using __comp_ref_type = _Comp&; | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min_element.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min_element.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/identity.h" 1 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/identity.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __is_identity : false_type {}; | |
struct __identity { | |
template <class _Tp> | |
[[nodiscard]] constexpr _Tp&& operator()(_Tp&& __t) const noexcept { | |
return std::forward<_Tp>(__t); | |
} | |
using is_transparent = void; | |
}; | |
template <> | |
struct __is_identity<__identity> : true_type {}; | |
# 55 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/identity.h" 3 | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min_element.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min_element.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Comp, class _Iter, class _Sent, class _Proj> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Iter __min_element(_Iter __first, _Sent __last, _Comp __comp, _Proj& __proj) { | |
if (__first == __last) | |
return __first; | |
_Iter __i = __first; | |
while (++__i != __last) | |
if (std::__invoke(__comp, std::__invoke(__proj, *__i), std::__invoke(__proj, *__first))) | |
__first = __i; | |
return __first; | |
} | |
template <class _Comp, class _Iter, class _Sent> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Iter __min_element(_Iter __first, _Sent __last, _Comp __comp) { | |
auto __proj = __identity(); | |
return std::__min_element<_Comp>(std::move(__first), std::move(__last), __comp, __proj); | |
} | |
template <class _ForwardIterator, class _Compare> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _ForwardIterator | |
min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) | |
{ | |
static_assert(__is_cpp17_forward_iterator<_ForwardIterator>::value, | |
"std::min_element requires a ForwardIterator"); | |
static_assert(__is_callable<_Compare, decltype(*__first), decltype(*__first)>::value, | |
"The comparator has to be callable"); | |
return std::__min_element<__comp_ref_type<_Compare> >(std::move(__first), std::move(__last), __comp); | |
} | |
template <class _ForwardIterator> | |
[[nodiscard]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _ForwardIterator | |
min_element(_ForwardIterator __first, _ForwardIterator __last) | |
{ | |
return std::min_element(__first, __last, | |
__less<typename iterator_traits<_ForwardIterator>::value_type>()); | |
} | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 2 3 | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/min.h" 2 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp, class _Compare> | |
[[nodiscard]] inline | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _Tp& | |
min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) | |
{ | |
return __comp(__b, __a) ? __b : __a; | |
} | |
template <class _Tp> | |
[[nodiscard]] inline | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
const _Tp& | |
min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) | |
{ | |
return std::min(__a, __b, __less<_Tp>()); | |
} | |
template<class _Tp, class _Compare> | |
[[nodiscard]] inline | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp | |
min(initializer_list<_Tp> __t, _Compare __comp) | |
{ | |
return *std::__min_element<__comp_ref_type<_Compare> >(__t.begin(), __t.end(), __comp); | |
} | |
template<class _Tp> | |
[[nodiscard]] inline | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Tp | |
min(initializer_list<_Tp> __t) | |
{ | |
return *std::min_element(__t.begin(), __t.end(), __less<_Tp>()); | |
} | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/segmented_iterator.h" 1 3 | |
# 49 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/segmented_iterator.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Iterator> | |
struct __segmented_iterator_traits; | |
# 68 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/segmented_iterator.h" 3 | |
template <class _Tp, size_t = 0> | |
struct __has_specialization : false_type {}; | |
template <class _Tp> | |
struct __has_specialization<_Tp, sizeof(_Tp) * 0> : true_type {}; | |
template <class _Iterator> | |
using __is_segmented_iterator = __has_specialization<__segmented_iterator_traits<_Iterator> >; | |
}} | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 2 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 27 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/copy.h" 2 3 | |
namespace std { inline namespace __1 { | |
template <class, class _InIter, class _Sent, class _OutIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> __copy(_InIter, _Sent, _OutIter); | |
template <class _AlgPolicy> | |
struct __copy_loop { | |
template <class _InIter, class _Sent, class _OutIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _Sent __last, _OutIter __result) const { | |
while (__first != __last) { | |
*__result = *__first; | |
++__first; | |
++__result; | |
} | |
return std::make_pair(std::move(__first), std::move(__result)); | |
} | |
template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
using _Traits = __segmented_iterator_traits<_InIter>; | |
auto __sfirst = _Traits::__segment(__first); | |
auto __slast = _Traits::__segment(__last); | |
if (__sfirst == __slast) { | |
auto __iters = std::__copy<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); | |
return std::make_pair(__last, std::move(__iters.second)); | |
} | |
__result = std::__copy<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__sfirst), std::move(__result)).second; | |
++__sfirst; | |
while (__sfirst != __slast) { | |
__result = | |
std::__copy<_AlgPolicy>(_Traits::__begin(__sfirst), _Traits::__end(__sfirst), std::move(__result)).second; | |
++__sfirst; | |
} | |
__result = | |
std::__copy<_AlgPolicy>(_Traits::__begin(__sfirst), _Traits::__local(__last), std::move(__result)).second; | |
return std::make_pair(__last, std::move(__result)); | |
} | |
template <class _InIter, | |
class _OutIter, | |
__enable_if_t<__is_cpp17_random_access_iterator<_InIter>::value && | |
!__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, | |
int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _InIter __last, _OutIter __result) { | |
using _Traits = __segmented_iterator_traits<_OutIter>; | |
using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; | |
if (__first == __last) | |
return std::make_pair(std::move(__first), std::move(__result)); | |
auto __local_first = _Traits::__local(__result); | |
auto __segment_iterator = _Traits::__segment(__result); | |
while (true) { | |
auto __local_last = _Traits::__end(__segment_iterator); | |
auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); | |
auto __iters = std::__copy<_AlgPolicy>(__first, __first + __size, __local_first); | |
__first = std::move(__iters.first); | |
if (__first == __last) | |
return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); | |
__local_first = _Traits::__begin(++__segment_iterator); | |
} | |
} | |
}; | |
struct __copy_trivial { | |
template <class _In, class _Out, | |
__enable_if_t<__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_In*, _Out*> | |
operator()(_In* __first, _In* __last, _Out* __result) const { | |
return std::__copy_trivial_impl(__first, __last, __result); | |
} | |
}; | |
template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> | |
pair<_InIter, _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
__copy(_InIter __first, _Sent __last, _OutIter __result) { | |
return std::__dispatch_copy_or_move<_AlgPolicy, __copy_loop<_AlgPolicy>, __copy_trivial>( | |
std::move(__first), std::move(__last), std::move(__result)); | |
} | |
template <class _InputIterator, class _OutputIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _OutputIterator | |
copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { | |
return std::__copy<_ClassicAlgPolicy>(__first, __last, __result).second; | |
} | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/move.h" 1 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/move.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__undef_macros" 1 3 | |
# 28 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__algorithm/move.h" 2 3 | |
namespace std { inline namespace __1 { | |
template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
__move(_InIter __first, _Sent __last, _OutIter __result); | |
template <class _AlgPolicy> | |
struct __move_loop { | |
template <class _InIter, class _Sent, class _OutIter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _Sent __last, _OutIter __result) const { | |
while (__first != __last) { | |
*__result = _IterOps<_AlgPolicy>::__iter_move(__first); | |
++__first; | |
++__result; | |
} | |
return std::make_pair(std::move(__first), std::move(__result)); | |
} | |
template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _InIter __last, _OutIter __result) const { | |
using _Traits = __segmented_iterator_traits<_InIter>; | |
auto __sfirst = _Traits::__segment(__first); | |
auto __slast = _Traits::__segment(__last); | |
if (__sfirst == __slast) { | |
auto __iters = std::__move<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); | |
return std::make_pair(__last, std::move(__iters.second)); | |
} | |
__result = std::__move<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__sfirst), std::move(__result)).second; | |
++__sfirst; | |
while (__sfirst != __slast) { | |
__result = | |
std::__move<_AlgPolicy>(_Traits::__begin(__sfirst), _Traits::__end(__sfirst), std::move(__result)).second; | |
++__sfirst; | |
} | |
__result = | |
std::__move<_AlgPolicy>(_Traits::__begin(__sfirst), _Traits::__local(__last), std::move(__result)).second; | |
return std::make_pair(__last, std::move(__result)); | |
} | |
template <class _InIter, | |
class _OutIter, | |
__enable_if_t<__is_cpp17_random_access_iterator<_InIter>::value && | |
!__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, | |
int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
operator()(_InIter __first, _InIter __last, _OutIter __result) { | |
using _Traits = __segmented_iterator_traits<_OutIter>; | |
using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; | |
if (__first == __last) | |
return std::make_pair(std::move(__first), std::move(__result)); | |
auto __local_first = _Traits::__local(__result); | |
auto __segment_iterator = _Traits::__segment(__result); | |
while (true) { | |
auto __local_last = _Traits::__end(__segment_iterator); | |
auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); | |
auto __iters = std::__move<_AlgPolicy>(__first, __first + __size, __local_first); | |
__first = std::move(__iters.first); | |
if (__first == __last) | |
return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); | |
__local_first = _Traits::__begin(++__segment_iterator); | |
} | |
} | |
}; | |
struct __move_trivial { | |
template <class _In, class _Out, | |
__enable_if_t<__can_lower_move_assignment_to_memmove<_In, _Out>::value, int> = 0> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_In*, _Out*> | |
operator()(_In* __first, _In* __last, _Out* __result) const { | |
return std::__copy_trivial_impl(__first, __last, __result); | |
} | |
}; | |
template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr pair<_InIter, _OutIter> | |
__move(_InIter __first, _Sent __last, _OutIter __result) { | |
return std::__dispatch_copy_or_move<_AlgPolicy, __move_loop<_AlgPolicy>, __move_trivial>( | |
std::move(__first), std::move(__last), std::move(__result)); | |
} | |
template <class _InputIterator, class _OutputIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _OutputIterator | |
move(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { | |
static_assert(is_copy_constructible<_InputIterator>::value, "Iterators has to be copy constructible."); | |
static_assert(is_copy_constructible<_OutputIterator>::value, "The output iterator has to be copy constructible."); | |
return std::__move<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second; | |
} | |
}} | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/iterator.h" 3 | |
namespace std { inline namespace __1 { | |
template<class _Category, class _Tp, class _Distance = ptrdiff_t, | |
class _Pointer = _Tp*, class _Reference = _Tp&> | |
struct __attribute__((__type_visibility__("default"))) __attribute__((__deprecated__)) iterator | |
{ | |
typedef _Tp value_type; | |
typedef _Distance difference_type; | |
typedef _Pointer pointer; | |
typedef _Reference reference; | |
typedef _Category iterator_category; | |
}; | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/different_from.h" 1 3 | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/different_from.h" 3 | |
namespace std { inline namespace __1 { | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__concepts/different_from.h" 3 | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 2 3 | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/view_interface.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/view_interface.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/empty.h" 1 3 | |
# 21 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/empty.h" 3 | |
namespace std { inline namespace __1 { | |
# 80 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/empty.h" 3 | |
}} | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/view_interface.h" 2 3 | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/view_interface.h" 3 | |
namespace std { inline namespace __1 { | |
# 175 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/view_interface.h" 3 | |
}} | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/pair_like.h" 1 3 | |
# 13 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/pair_like.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_like.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_like.h" 3 | |
namespace std { inline namespace __1 { | |
# 49 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/tuple_like.h" 3 | |
}} | |
# 14 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/pair_like.h" 2 3 | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/pair_like.h" 3 | |
namespace std { inline namespace __1 { | |
# 30 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__tuple_dir/pair_like.h" 3 | |
}} | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 2 3 | |
# 47 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 3 | |
namespace std { inline namespace __1 { | |
# 289 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__ranges/subrange.h" 3 | |
}} | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 2 3 | |
# 45 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
namespace std { inline namespace __1 { | |
#pragma GCC diagnostic push | |
# 49 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 49 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _Iter> | |
class __attribute__((__type_visibility__("default"))) reverse_iterator | |
: public iterator<typename iterator_traits<_Iter>::iterator_category, | |
typename iterator_traits<_Iter>::value_type, | |
typename iterator_traits<_Iter>::difference_type, | |
typename iterator_traits<_Iter>::pointer, | |
typename iterator_traits<_Iter>::reference> | |
{ | |
#pragma GCC diagnostic pop | |
private: | |
_Iter __t_; | |
protected: | |
_Iter current; | |
public: | |
using iterator_type = _Iter; | |
using iterator_category = _If<__is_cpp17_random_access_iterator<_Iter>::value, | |
random_access_iterator_tag, | |
typename iterator_traits<_Iter>::iterator_category>; | |
using pointer = typename iterator_traits<_Iter>::pointer; | |
using value_type = typename iterator_traits<_Iter>::value_type; | |
using difference_type = typename iterator_traits<_Iter>::difference_type; | |
using reference = typename iterator_traits<_Iter>::reference; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator() : __t_(), current() {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
explicit reverse_iterator(_Iter __x) : __t_(__x), current(__x) {} | |
template <class _Up, class = __enable_if_t< | |
!is_same<_Up, _Iter>::value && is_convertible<_Up const&, _Iter>::value | |
> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator(const reverse_iterator<_Up>& __u) | |
: __t_(__u.base()), current(__u.base()) | |
{ } | |
template <class _Up, class = __enable_if_t< | |
!is_same<_Up, _Iter>::value && | |
is_convertible<_Up const&, _Iter>::value && | |
is_assignable<_Iter&, _Up const&>::value | |
> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator& operator=(const reverse_iterator<_Up>& __u) { | |
__t_ = current = __u.base(); | |
return *this; | |
} | |
# 142 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_Iter base() const {return current;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reference operator*() const {_Iter __tmp = current; return *--__tmp;} | |
# 159 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
pointer operator->() const { | |
return std::addressof(operator*()); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator& operator++() {--current; return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator operator++(int) {reverse_iterator __tmp(*this); --current; return __tmp;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator& operator--() {++current; return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator operator--(int) {reverse_iterator __tmp(*this); ++current; return __tmp;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator operator+(difference_type __n) const {return reverse_iterator(current - __n);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator& operator+=(difference_type __n) {current -= __n; return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator operator-(difference_type __n) const {return reverse_iterator(current + __n);} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator& operator-=(difference_type __n) {current += __n; return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reference operator[](difference_type __n) const {return *(*this + __n);} | |
# 204 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
}; | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() == __y.base(); | |
} | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() > __y.base(); | |
} | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() != __y.base(); | |
} | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() < __y.base(); | |
} | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() <= __y.base(); | |
} | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
bool | |
operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
{ | |
return __x.base() >= __y.base(); | |
} | |
# 295 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
template <class _Iter1, class _Iter2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
auto | |
operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) | |
-> decltype(__y.base() - __x.base()) | |
{ | |
return __y.base() - __x.base(); | |
} | |
# 313 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
template <class _Iter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator<_Iter> | |
operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) | |
{ | |
return reverse_iterator<_Iter>(__x.base() - __n); | |
} | |
# 328 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
template <class _Iter> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
reverse_iterator<_Iter> make_reverse_iterator(_Iter __i) | |
{ | |
return reverse_iterator<_Iter>(__i); | |
} | |
template <class _Iter> | |
using __unconstrained_reverse_iterator = reverse_iterator<_Iter>; | |
# 485 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
template <template <class> class _RevIter1, template <class> class _RevIter2, class _Iter> | |
struct __unwrap_reverse_iter_impl { | |
using _UnwrappedIter = decltype(__unwrap_iter_impl<_Iter>::__unwrap(std::declval<_Iter>())); | |
using _ReverseWrapper = _RevIter1<_RevIter2<_Iter> >; | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _ReverseWrapper | |
__rewrap(_ReverseWrapper __orig_iter, _UnwrappedIter __unwrapped_iter) { | |
return _ReverseWrapper( | |
_RevIter2<_Iter>(__unwrap_iter_impl<_Iter>::__rewrap(__orig_iter.base().base(), __unwrapped_iter))); | |
} | |
static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr _UnwrappedIter __unwrap(_ReverseWrapper __i) noexcept { | |
return __unwrap_iter_impl<_Iter>::__unwrap(__i.base().base()); | |
} | |
}; | |
# 511 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
template <class _Iter, bool __b> | |
struct __unwrap_iter_impl<reverse_iterator<reverse_iterator<_Iter> >, __b> | |
: __unwrap_reverse_iter_impl<reverse_iterator, reverse_iterator, _Iter> {}; | |
# 531 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__iterator/reverse_iterator.h" 3 | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 | |
# 41 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
namespace std { inline namespace __1 { | |
struct __unreachable_sentinel { | |
template <class _Iter> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) friend constexpr bool operator!=(const _Iter&, __unreachable_sentinel) noexcept { | |
return true; | |
} | |
}; | |
template <class _ValueType, class _InputIterator, class _Sentinel1, class _ForwardIterator, class _Sentinel2> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) pair<_InputIterator, _ForwardIterator> | |
__uninitialized_copy(_InputIterator __ifirst, _Sentinel1 __ilast, | |
_ForwardIterator __ofirst, _Sentinel2 __olast) { | |
_ForwardIterator __idx = __ofirst; | |
for (; __ifirst != __ilast && __idx != __olast; ++__ifirst, (void)++__idx) | |
::new (std::__voidify(*__idx)) _ValueType(*__ifirst); | |
return pair<_InputIterator, _ForwardIterator>(std::move(__ifirst), std::move(__idx)); | |
} | |
template <class _InputIterator, class _ForwardIterator> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator uninitialized_copy(_InputIterator __ifirst, _InputIterator __ilast, | |
_ForwardIterator __ofirst) { | |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
auto __result = std::__uninitialized_copy<_ValueType>(std::move(__ifirst), std::move(__ilast), | |
std::move(__ofirst), __unreachable_sentinel()); | |
return std::move(__result.second); | |
} | |
template <class _ValueType, class _InputIterator, class _Size, class _ForwardIterator, class _Sentinel> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) pair<_InputIterator, _ForwardIterator> | |
__uninitialized_copy_n(_InputIterator __ifirst, _Size __n, | |
_ForwardIterator __ofirst, _Sentinel __olast) { | |
_ForwardIterator __idx = __ofirst; | |
for (; __n > 0 && __idx != __olast; ++__ifirst, (void)++__idx, (void)--__n) | |
::new (std::__voidify(*__idx)) _ValueType(*__ifirst); | |
return pair<_InputIterator, _ForwardIterator>(std::move(__ifirst), std::move(__idx)); | |
} | |
template <class _InputIterator, class _Size, class _ForwardIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _ForwardIterator uninitialized_copy_n(_InputIterator __ifirst, _Size __n, | |
_ForwardIterator __ofirst) { | |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
auto __result = std::__uninitialized_copy_n<_ValueType>(std::move(__ifirst), __n, std::move(__ofirst), | |
__unreachable_sentinel()); | |
return std::move(__result.second); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Sentinel, class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_fill(_ForwardIterator __first, _Sentinel __last, const _Tp& __x) | |
{ | |
_ForwardIterator __idx = __first; | |
for (; __idx != __last; ++__idx) | |
::new (std::__voidify(*__idx)) _ValueType(__x); | |
# 139 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
return __idx; | |
} | |
template <class _ForwardIterator, class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) | |
{ | |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
(void)std::__uninitialized_fill<_ValueType>(__first, __last, __x); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Size, class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) | |
{ | |
_ForwardIterator __idx = __first; | |
for (; __n > 0; ++__idx, (void) --__n) | |
::new (std::__voidify(*__idx)) _ValueType(__x); | |
# 172 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
return __idx; | |
} | |
template <class _ForwardIterator, class _Size, class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) | |
{ | |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
return std::__uninitialized_fill_n<_ValueType>(__first, __n, __x); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Sentinel> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_default_construct(_ForwardIterator __first, _Sentinel __last) { | |
auto __idx = __first; | |
for (; __idx != __last; ++__idx) | |
::new (std::__voidify(*__idx)) _ValueType; | |
return __idx; | |
} | |
template <class _ForwardIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void uninitialized_default_construct(_ForwardIterator __first, _ForwardIterator __last) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
(void)std::__uninitialized_default_construct<_ValueType>( | |
std::move(__first), std::move(__last)); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Size> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_default_construct_n(_ForwardIterator __first, _Size __n) { | |
auto __idx = __first; | |
for (; __n > 0; ++__idx, (void) --__n) | |
::new (std::__voidify(*__idx)) _ValueType; | |
return __idx; | |
} | |
template <class _ForwardIterator, class _Size> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator uninitialized_default_construct_n(_ForwardIterator __first, _Size __n) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
return std::__uninitialized_default_construct_n<_ValueType>(std::move(__first), __n); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Sentinel> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_value_construct(_ForwardIterator __first, _Sentinel __last) { | |
auto __idx = __first; | |
for (; __idx != __last; ++__idx) | |
::new (std::__voidify(*__idx)) _ValueType(); | |
return __idx; | |
} | |
template <class _ForwardIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void uninitialized_value_construct(_ForwardIterator __first, _ForwardIterator __last) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
(void)std::__uninitialized_value_construct<_ValueType>( | |
std::move(__first), std::move(__last)); | |
} | |
template <class _ValueType, class _ForwardIterator, class _Size> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator __uninitialized_value_construct_n(_ForwardIterator __first, _Size __n) { | |
auto __idx = __first; | |
for (; __n > 0; ++__idx, (void) --__n) | |
::new (std::__voidify(*__idx)) _ValueType(); | |
return __idx; | |
} | |
template <class _ForwardIterator, class _Size> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_ForwardIterator uninitialized_value_construct_n(_ForwardIterator __first, _Size __n) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
return std::__uninitialized_value_construct_n<_ValueType>(std::move(__first), __n); | |
} | |
template <class _ValueType, class _InputIterator, class _Sentinel1, class _ForwardIterator, class _Sentinel2, | |
class _IterMove> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) pair<_InputIterator, _ForwardIterator> | |
__uninitialized_move(_InputIterator __ifirst, _Sentinel1 __ilast, | |
_ForwardIterator __ofirst, _Sentinel2 __olast, _IterMove __iter_move) { | |
auto __idx = __ofirst; | |
for (; __ifirst != __ilast && __idx != __olast; ++__idx, (void)++__ifirst) { | |
::new (std::__voidify(*__idx)) _ValueType(__iter_move(__ifirst)); | |
} | |
return {std::move(__ifirst), std::move(__idx)}; | |
} | |
template <class _InputIterator, class _ForwardIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _ForwardIterator uninitialized_move(_InputIterator __ifirst, _InputIterator __ilast, | |
_ForwardIterator __ofirst) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
auto __iter_move = [](auto&& __iter) -> decltype(auto) { return std::move(*__iter); }; | |
auto __result = std::__uninitialized_move<_ValueType>(std::move(__ifirst), std::move(__ilast), | |
std::move(__ofirst), __unreachable_sentinel(), __iter_move); | |
return std::move(__result.second); | |
} | |
template <class _ValueType, class _InputIterator, class _Size, class _ForwardIterator, class _Sentinel, class _IterMove> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) pair<_InputIterator, _ForwardIterator> | |
__uninitialized_move_n(_InputIterator __ifirst, _Size __n, | |
_ForwardIterator __ofirst, _Sentinel __olast, _IterMove __iter_move) { | |
auto __idx = __ofirst; | |
for (; __n > 0 && __idx != __olast; ++__idx, (void)++__ifirst, --__n) | |
::new (std::__voidify(*__idx)) _ValueType(__iter_move(__ifirst)); | |
return {std::move(__ifirst), std::move(__idx)}; | |
} | |
template <class _InputIterator, class _Size, class _ForwardIterator> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) pair<_InputIterator, _ForwardIterator> | |
uninitialized_move_n(_InputIterator __ifirst, _Size __n, _ForwardIterator __ofirst) { | |
using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; | |
auto __iter_move = [](auto&& __iter) -> decltype(auto) { return std::move(*__iter); }; | |
return std::__uninitialized_move_n<_ValueType>(std::move(__ifirst), __n, std::move(__ofirst), | |
__unreachable_sentinel(), __iter_move); | |
} | |
# 373 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
template<class _Alloc, class _BidirIter, class = __enable_if_t< | |
__is_cpp17_bidirectional_iterator<_BidirIter>::value | |
>> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr void __allocator_destroy_multidimensional(_Alloc& __alloc, _BidirIter __first, _BidirIter __last) noexcept { | |
using _ValueType = typename iterator_traits<_BidirIter>::value_type; | |
static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _ValueType>, | |
"The allocator should already be rebound to the correct type"); | |
if (__first == __last) | |
return; | |
if constexpr (is_array_v<_ValueType>) { | |
static_assert(!__libcpp_is_unbounded_array<_ValueType>::value, | |
"arrays of unbounded arrays don't exist, but if they did we would mess up here"); | |
using _Element = remove_extent_t<_ValueType>; | |
__allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); | |
do { | |
--__last; | |
decltype(auto) __array = *__last; | |
std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + extent_v<_ValueType>); | |
} while (__last != __first); | |
} else { | |
do { | |
--__last; | |
allocator_traits<_Alloc>::destroy(__alloc, std::addressof(*__last)); | |
} while (__last != __first); | |
} | |
} | |
# 411 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
template<class _Alloc, class _Tp> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr void __allocator_construct_at_multidimensional(_Alloc& __alloc, _Tp* __loc) { | |
static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _Tp>, | |
"The allocator should already be rebound to the correct type"); | |
if constexpr (is_array_v<_Tp>) { | |
using _Element = remove_extent_t<_Tp>; | |
__allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); | |
size_t __i = 0; | |
_Tp& __array = *__loc; | |
auto __guard = std::__make_exception_guard([&]() { | |
std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + __i); | |
}); | |
for (; __i != extent_v<_Tp>; ++__i) { | |
std::__allocator_construct_at_multidimensional(__elem_alloc, std::addressof(__array[__i])); | |
} | |
__guard.__complete(); | |
} else { | |
allocator_traits<_Alloc>::construct(__alloc, __loc); | |
} | |
} | |
# 447 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
template<class _Alloc, class _Tp, class _Arg> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
constexpr void __allocator_construct_at_multidimensional(_Alloc& __alloc, _Tp* __loc, _Arg const& __arg) { | |
static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _Tp>, | |
"The allocator should already be rebound to the correct type"); | |
if constexpr (is_array_v<_Tp>) { | |
static_assert(is_array_v<_Arg>, | |
"Provided non-array initialization argument to __allocator_construct_at_multidimensional when " | |
"trying to construct an array."); | |
using _Element = remove_extent_t<_Tp>; | |
__allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); | |
size_t __i = 0; | |
_Tp& __array = *__loc; | |
auto __guard = std::__make_exception_guard([&]() { | |
std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + __i); | |
}); | |
for (; __i != extent_v<_Tp>; ++__i) { | |
std::__allocator_construct_at_multidimensional(__elem_alloc, std::addressof(__array[__i]), __arg[__i]); | |
} | |
__guard.__complete(); | |
} else { | |
allocator_traits<_Alloc>::construct(__alloc, __loc, __arg); | |
} | |
} | |
# 483 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/uninitialized_algorithms.h" 3 | |
template<class _Alloc, class _BidirIter, class _Tp, class _Size = typename iterator_traits<_BidirIter>::difference_type> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr void | |
__uninitialized_allocator_fill_n_multidimensional(_Alloc& __alloc, _BidirIter __it, _Size __n, _Tp const& __value) { | |
using _ValueType = typename iterator_traits<_BidirIter>::value_type; | |
__allocator_traits_rebind_t<_Alloc, _ValueType> __value_alloc(__alloc); | |
_BidirIter __begin = __it; | |
auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__value_alloc, __begin, __it); }); | |
for (; __n != 0; --__n, ++__it) { | |
std::__allocator_construct_at_multidimensional(__value_alloc, std::addressof(*__it), __value); | |
} | |
__guard.__complete(); | |
} | |
template <class _Alloc, class _BidirIter, class _Size = typename iterator_traits<_BidirIter>::difference_type> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr void | |
__uninitialized_allocator_value_construct_n_multidimensional(_Alloc& __alloc, _BidirIter __it, _Size __n) { | |
using _ValueType = typename iterator_traits<_BidirIter>::value_type; | |
__allocator_traits_rebind_t<_Alloc, _ValueType> __value_alloc(__alloc); | |
_BidirIter __begin = __it; | |
auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__value_alloc, __begin, __it); }); | |
for (; __n != 0; --__n, ++__it) { | |
std::__allocator_construct_at_multidimensional(__value_alloc, std::addressof(*__it)); | |
} | |
__guard.__complete(); | |
} | |
template <class _Alloc, class _Iter, class _Sent> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) void | |
__allocator_destroy(_Alloc& __alloc, _Iter __first, _Sent __last) { | |
for (; __first != __last; ++__first) | |
allocator_traits<_Alloc>::destroy(__alloc, std::__to_address(__first)); | |
} | |
template <class _Alloc, class _Iter> | |
class _AllocatorDestroyRangeReverse { | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr | |
_AllocatorDestroyRangeReverse(_Alloc& __alloc, _Iter& __first, _Iter& __last) | |
: __alloc_(__alloc), __first_(__first), __last_(__last) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) constexpr void operator()() const { | |
std::__allocator_destroy(__alloc_, std::reverse_iterator<_Iter>(__last_), std::reverse_iterator<_Iter>(__first_)); | |
} | |
private: | |
_Alloc& __alloc_; | |
_Iter& __first_; | |
_Iter& __last_; | |
}; | |
template <class _Alloc, class _Iter1, class _Sent1, class _Iter2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _Iter2 | |
__uninitialized_allocator_copy(_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) { | |
auto __destruct_first = __first2; | |
auto __guard = | |
std::__make_exception_guard(_AllocatorDestroyRangeReverse<_Alloc, _Iter2>(__alloc, __destruct_first, __first2)); | |
while (__first1 != __last1) { | |
allocator_traits<_Alloc>::construct(__alloc, std::__to_address(__first2), *__first1); | |
++__first1; | |
++__first2; | |
} | |
__guard.__complete(); | |
return __first2; | |
} | |
template <class _Alloc, class _Type> | |
struct __allocator_has_trivial_copy_construct : _Not<__has_construct<_Alloc, _Type*, const _Type&> > {}; | |
template <class _Type> | |
struct __allocator_has_trivial_copy_construct<allocator<_Type>, _Type> : true_type {}; | |
template <class _Alloc, | |
class _Type, | |
class _RawType = __remove_const_t<_Type>, | |
__enable_if_t< | |
is_trivially_copy_constructible<_RawType>::value && is_trivially_copy_assignable<_RawType>::value && | |
__allocator_has_trivial_copy_construct<_Alloc, _RawType>::value>* = nullptr> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _Type* | |
__uninitialized_allocator_copy(_Alloc&, const _Type* __first1, const _Type* __last1, _Type* __first2) { | |
if (__libcpp_is_constant_evaluated()) { | |
while (__first1 != __last1) { | |
std::__construct_at(std::__to_address(__first2), *__first1); | |
++__first1; | |
++__first2; | |
} | |
return __first2; | |
} else { | |
return std::copy(__first1, __last1, const_cast<_RawType*>(__first2)); | |
} | |
} | |
template <class _Alloc, class _Iter1, class _Sent1, class _Iter2> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _Iter2 __uninitialized_allocator_move_if_noexcept( | |
_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) { | |
static_assert(__is_cpp17_move_insertable<_Alloc>::value, | |
"The specified type does not meet the requirements of Cpp17MoveInsertable"); | |
auto __destruct_first = __first2; | |
auto __guard = | |
std::__make_exception_guard(_AllocatorDestroyRangeReverse<_Alloc, _Iter2>(__alloc, __destruct_first, __first2)); | |
while (__first1 != __last1) { | |
allocator_traits<_Alloc>::construct(__alloc, std::__to_address(__first2), std::move(*__first1)); | |
++__first1; | |
++__first2; | |
} | |
__guard.__complete(); | |
return __first2; | |
} | |
template <class _Alloc, class _Type> | |
struct __allocator_has_trivial_move_construct : _Not<__has_construct<_Alloc, _Type*, _Type&&> > {}; | |
template <class _Type> | |
struct __allocator_has_trivial_move_construct<allocator<_Type>, _Type> : true_type {}; | |
template < | |
class _Alloc, | |
class _Iter1, | |
class _Iter2, | |
class _Type = typename iterator_traits<_Iter1>::value_type, | |
class = __enable_if_t<is_trivially_move_constructible<_Type>::value && is_trivially_move_assignable<_Type>::value && | |
__allocator_has_trivial_move_construct<_Alloc, _Type>::value> > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _Iter2 | |
__uninitialized_allocator_move_if_noexcept(_Alloc&, _Iter1 __first1, _Iter1 __last1, _Iter2 __first2) { | |
if (__libcpp_is_constant_evaluated()) { | |
while (__first1 != __last1) { | |
std::__construct_at(std::__to_address(__first2), std::move(*__first1)); | |
++__first1; | |
++__first2; | |
} | |
return __first2; | |
} else { | |
return std::move(__first1, __last1, __first2); | |
} | |
} | |
}} | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 2 3 | |
# 32 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 | |
namespace std { inline namespace __1 { | |
# 317 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 | |
}} | |
# 897 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/raw_storage_iterator.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/raw_storage_iterator.h" 3 | |
namespace std { inline namespace __1 { | |
#pragma GCC diagnostic push | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/raw_storage_iterator.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated" | |
# 29 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/raw_storage_iterator.h" 3 | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
template <class _OutputIterator, class _Tp> | |
class __attribute__((__type_visibility__("default"))) __attribute__((__deprecated__)) raw_storage_iterator | |
: public iterator<output_iterator_tag, void, void, void, void> | |
{ | |
#pragma GCC diagnostic pop | |
private: | |
_OutputIterator __x_; | |
public: | |
typedef output_iterator_tag iterator_category; | |
typedef void value_type; | |
typedef void difference_type; | |
typedef void pointer; | |
typedef void reference; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) explicit raw_storage_iterator(_OutputIterator __x) : __x_(__x) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) raw_storage_iterator& operator*() {return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) raw_storage_iterator& operator=(const _Tp& __element) | |
{::new ((void*)std::addressof(*__x_)) _Tp(__element); return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) raw_storage_iterator& operator=(_Tp&& __element) | |
{::new ((void*)std::addressof(*__x_)) _Tp(std::move(__element)); return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) raw_storage_iterator& operator++() {++__x_; return *this;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) raw_storage_iterator operator++(int) | |
{raw_storage_iterator __t(*this); ++__x_; return __t;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) _OutputIterator base() const { return __x_; } | |
}; | |
}} | |
# 898 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/memory" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/binary_function.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/binary_function.h" 3 | |
namespace std { inline namespace __1 { | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/binary_function.h" 3 | |
template <class _Arg1, class _Arg2, class _Result> struct __binary_function_keep_layout_base { | |
using first_argument_type __attribute__((__deprecated__)) = _Arg1; | |
using second_argument_type __attribute__((__deprecated__)) = _Arg2; | |
using result_type __attribute__((__deprecated__)) = _Result; | |
}; | |
# 48 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/binary_function.h" 3 | |
template <class _Arg1, class _Arg2, class _Result> | |
using __binary_function = __binary_function_keep_layout_base<_Arg1, _Arg2, _Result>; | |
}} | |
# 18 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/operations.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/operations.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unary_function.h" 1 3 | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unary_function.h" 3 | |
namespace std { inline namespace __1 { | |
# 31 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unary_function.h" 3 | |
template <class _Arg, class _Result> struct __unary_function_keep_layout_base { | |
using argument_type __attribute__((__deprecated__)) = _Arg; | |
using result_type __attribute__((__deprecated__)) = _Result; | |
}; | |
# 45 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/unary_function.h" 3 | |
template <class _Arg, class _Result> | |
using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/operations.h" 2 3 | |
# 22 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/operations.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) plus | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x + __y;} | |
}; | |
template <class ..._Tag> plus(typename _Tag::__allow_ctad...) -> plus<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) plus<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) + std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) + std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) + std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) minus | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x - __y;} | |
}; | |
template <class ..._Tag> minus(typename _Tag::__allow_ctad...) -> minus<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) minus<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) - std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) - std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) - std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) multiplies | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x * __y;} | |
}; | |
template <class ..._Tag> multiplies(typename _Tag::__allow_ctad...) -> multiplies<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) multiplies<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) * std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) * std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) * std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) divides | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x / __y;} | |
}; | |
template <class ..._Tag> divides(typename _Tag::__allow_ctad...) -> divides<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) divides<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) / std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) / std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) / std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) modulus | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x % __y;} | |
}; | |
template <class ..._Tag> modulus(typename _Tag::__allow_ctad...) -> modulus<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) modulus<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) % std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) % std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) % std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) negate | |
: __unary_function<_Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x) const | |
{return -__x;} | |
}; | |
template <class ..._Tag> negate(typename _Tag::__allow_ctad...) -> negate<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) negate<void> | |
{ | |
template <class _Tp> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_Tp&& __x) const | |
noexcept(noexcept(- std::forward<_Tp>(__x))) | |
-> decltype( - std::forward<_Tp>(__x)) | |
{ return - std::forward<_Tp>(__x); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) bit_and | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x & __y;} | |
}; | |
template <class ..._Tag> bit_and(typename _Tag::__allow_ctad...) -> bit_and<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) bit_and<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) & std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) & std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) & std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) bit_not | |
: __unary_function<_Tp, _Tp> | |
{ | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x) const | |
{return ~__x;} | |
}; | |
template <class ..._Tag> bit_not(typename _Tag::__allow_ctad...) -> bit_not<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) bit_not<void> | |
{ | |
template <class _Tp> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_Tp&& __x) const | |
noexcept(noexcept(~std::forward<_Tp>(__x))) | |
-> decltype( ~std::forward<_Tp>(__x)) | |
{ return ~std::forward<_Tp>(__x); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) bit_or | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x | __y;} | |
}; | |
template <class ..._Tag> bit_or(typename _Tag::__allow_ctad...) -> bit_or<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) bit_or<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) | std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) | std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) | std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) bit_xor | |
: __binary_function<_Tp, _Tp, _Tp> | |
{ | |
typedef _Tp __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Tp operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x ^ __y;} | |
}; | |
template <class ..._Tag> bit_xor(typename _Tag::__allow_ctad...) -> bit_xor<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) bit_xor<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) ^ std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) ^ std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) ^ std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) equal_to | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x == __y;} | |
}; | |
template <class ..._Tag> equal_to(typename _Tag::__allow_ctad...) -> equal_to<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) equal_to<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) == std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) == std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) == std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp> | |
struct __is_trivial_equality_predicate<equal_to<_Tp>, _Tp, _Tp> : true_type {}; | |
template <class _Tp> | |
struct __is_trivial_equality_predicate<equal_to<>, _Tp, _Tp> : true_type {}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) not_equal_to | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x != __y;} | |
}; | |
template <class ..._Tag> not_equal_to(typename _Tag::__allow_ctad...) -> not_equal_to<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) not_equal_to<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) != std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) != std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) != std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) less | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x < __y;} | |
}; | |
template <class ..._Tag> less(typename _Tag::__allow_ctad...) -> less<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) less<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) < std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) < std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) < std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) less_equal | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x <= __y;} | |
}; | |
template <class ..._Tag> less_equal(typename _Tag::__allow_ctad...) -> less_equal<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) less_equal<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) <= std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) <= std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) <= std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) greater_equal | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x >= __y;} | |
}; | |
template <class ..._Tag> greater_equal(typename _Tag::__allow_ctad...) -> greater_equal<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) greater_equal<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) >= std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) >= std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) >= std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) greater | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x > __y;} | |
}; | |
template <class ..._Tag> greater(typename _Tag::__allow_ctad...) -> greater<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) greater<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) > std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) > std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) > std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) logical_and | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x && __y;} | |
}; | |
template <class ..._Tag> logical_and(typename _Tag::__allow_ctad...) -> logical_and<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) logical_and<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) && std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) && std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) && std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) logical_not | |
: __unary_function<_Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x) const | |
{return !__x;} | |
}; | |
template <class ..._Tag> logical_not(typename _Tag::__allow_ctad...) -> logical_not<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) logical_not<void> | |
{ | |
template <class _Tp> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_Tp&& __x) const | |
noexcept(noexcept(!std::forward<_Tp>(__x))) | |
-> decltype( !std::forward<_Tp>(__x)) | |
{ return !std::forward<_Tp>(__x); } | |
typedef void is_transparent; | |
}; | |
template <class _Tp = void> | |
struct __attribute__((__type_visibility__("default"))) logical_or | |
: __binary_function<_Tp, _Tp, bool> | |
{ | |
typedef bool __result_type; | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
bool operator()(const _Tp& __x, const _Tp& __y) const | |
{return __x || __y;} | |
}; | |
template <class ..._Tag> logical_or(typename _Tag::__allow_ctad...) -> logical_or<_Tag...>; | |
template <> | |
struct __attribute__((__type_visibility__("default"))) logical_or<void> | |
{ | |
template <class _T1, class _T2> | |
constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
auto operator()(_T1&& __t, _T2&& __u) const | |
noexcept(noexcept(std::forward<_T1>(__t) || std::forward<_T2>(__u))) | |
-> decltype( std::forward<_T1>(__t) || std::forward<_T2>(__u)) | |
{ return std::forward<_T1>(__t) || std::forward<_T2>(__u); } | |
typedef void is_transparent; | |
}; | |
}} | |
# 19 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/reference_wrapper.h" 1 3 | |
# 15 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/reference_wrapper.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/weak_result_type.h" 1 3 | |
# 23 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/weak_result_type.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
struct __has_result_type | |
{ | |
private: | |
template <class _Up> static false_type __test(...); | |
template <class _Up> static true_type __test(typename _Up::result_type* = 0); | |
public: | |
static const bool value = decltype(__test<_Tp>(0))::value; | |
}; | |
template <class _Tp> | |
struct __derives_from_unary_function | |
{ | |
private: | |
struct __two {char __lx; char __lxx;}; | |
static __two __test(...); | |
template <class _Ap, class _Rp> | |
static __unary_function<_Ap, _Rp> | |
__test(const volatile __unary_function<_Ap, _Rp>*); | |
public: | |
static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; | |
typedef decltype(__test((_Tp*)0)) type; | |
}; | |
template <class _Tp> | |
struct __derives_from_binary_function | |
{ | |
private: | |
struct __two {char __lx; char __lxx;}; | |
static __two __test(...); | |
template <class _A1, class _A2, class _Rp> | |
static __binary_function<_A1, _A2, _Rp> | |
__test(const volatile __binary_function<_A1, _A2, _Rp>*); | |
public: | |
static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; | |
typedef decltype(__test((_Tp*)0)) type; | |
}; | |
template <class _Tp, bool = __derives_from_unary_function<_Tp>::value> | |
struct __maybe_derive_from_unary_function | |
: public __derives_from_unary_function<_Tp>::type | |
{ | |
}; | |
template <class _Tp> | |
struct __maybe_derive_from_unary_function<_Tp, false> | |
{ | |
}; | |
template <class _Tp, bool = __derives_from_binary_function<_Tp>::value> | |
struct __maybe_derive_from_binary_function | |
: public __derives_from_binary_function<_Tp>::type | |
{ | |
}; | |
template <class _Tp> | |
struct __maybe_derive_from_binary_function<_Tp, false> | |
{ | |
}; | |
template <class _Tp, bool = __has_result_type<_Tp>::value> | |
struct __weak_result_type_imp | |
: public __maybe_derive_from_unary_function<_Tp>, | |
public __maybe_derive_from_binary_function<_Tp> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = typename _Tp::result_type; | |
}; | |
template <class _Tp> | |
struct __weak_result_type_imp<_Tp, false> | |
: public __maybe_derive_from_unary_function<_Tp>, | |
public __maybe_derive_from_binary_function<_Tp> | |
{ | |
}; | |
template <class _Tp> | |
struct __weak_result_type | |
: public __weak_result_type_imp<_Tp> | |
{ | |
}; | |
template <class _Rp> | |
struct __weak_result_type<_Rp ()> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp> | |
struct __weak_result_type<_Rp (&)()> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp> | |
struct __weak_result_type<_Rp (*)()> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _A1> | |
struct __weak_result_type<_Rp (_A1)> | |
: public __unary_function<_A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1> | |
struct __weak_result_type<_Rp (&)(_A1)> | |
: public __unary_function<_A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1> | |
struct __weak_result_type<_Rp (*)(_A1)> | |
: public __unary_function<_A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp> | |
struct __weak_result_type<_Rp (_Cp::*)()> | |
: public __unary_function<_Cp*, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp> | |
struct __weak_result_type<_Rp (_Cp::*)() const> | |
: public __unary_function<const _Cp*, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp> | |
struct __weak_result_type<_Rp (_Cp::*)() volatile> | |
: public __unary_function<volatile _Cp*, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp> | |
struct __weak_result_type<_Rp (_Cp::*)() const volatile> | |
: public __unary_function<const volatile _Cp*, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1, class _A2> | |
struct __weak_result_type<_Rp (_A1, _A2)> | |
: public __binary_function<_A1, _A2, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1, class _A2> | |
struct __weak_result_type<_Rp (*)(_A1, _A2)> | |
: public __binary_function<_A1, _A2, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1, class _A2> | |
struct __weak_result_type<_Rp (&)(_A1, _A2)> | |
: public __binary_function<_A1, _A2, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp, class _A1> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1)> | |
: public __binary_function<_Cp*, _A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp, class _A1> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1) const> | |
: public __binary_function<const _Cp*, _A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp, class _A1> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1) volatile> | |
: public __binary_function<volatile _Cp*, _A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _Cp, class _A1> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1) const volatile> | |
: public __binary_function<const volatile _Cp*, _A1, _Rp> | |
{ | |
}; | |
template <class _Rp, class _A1, class _A2, class _A3, class ..._A4> | |
struct __weak_result_type<_Rp (_A1, _A2, _A3, _A4...)> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _A1, class _A2, class _A3, class ..._A4> | |
struct __weak_result_type<_Rp (&)(_A1, _A2, _A3, _A4...)> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _A1, class _A2, class _A3, class ..._A4> | |
struct __weak_result_type<_Rp (*)(_A1, _A2, _A3, _A4...)> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...)> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) volatile> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Rp, class _Cp, class _A1, class _A2, class ..._A3> | |
struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const volatile> | |
{ | |
using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; | |
}; | |
template <class _Tp, class ..._Args> | |
struct __invoke_return | |
{ | |
typedef decltype(std::__invoke(std::declval<_Tp>(), std::declval<_Args>()...)) type; | |
}; | |
}} | |
# 16 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/reference_wrapper.h" 2 3 | |
# 24 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/reference_wrapper.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Tp> | |
class __attribute__((__type_visibility__("default"))) reference_wrapper : public __weak_result_type<_Tp> | |
{ | |
public: | |
typedef _Tp type; | |
private: | |
type* __f_; | |
static void __fun(_Tp&) noexcept; | |
static void __fun(_Tp&&) = delete; | |
public: | |
template <class _Up, class = __enable_if_t<!__is_same_uncvref<_Up, reference_wrapper>::value, decltype(__fun(std::declval<_Up>())) > > | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
reference_wrapper(_Up&& __u) noexcept(noexcept(__fun(std::declval<_Up>()))) { | |
type& __f = static_cast<_Up&&>(__u); | |
__f_ = std::addressof(__f); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
operator type&() const noexcept {return *__f_;} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
type& get() const noexcept {return *__f_;} | |
template <class... _ArgTypes> | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
typename __invoke_of<type&, _ArgTypes...>::type | |
operator() (_ArgTypes&&... __args) const | |
noexcept(is_nothrow_invocable_v<_Tp&, _ArgTypes...>) | |
{ | |
return std::__invoke(get(), std::forward<_ArgTypes>(__args)...); | |
} | |
}; | |
template <class _Tp> | |
reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
reference_wrapper<_Tp> | |
ref(_Tp& __t) noexcept | |
{ | |
return reference_wrapper<_Tp>(__t); | |
} | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
reference_wrapper<_Tp> | |
ref(reference_wrapper<_Tp> __t) noexcept | |
{ | |
return __t; | |
} | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
reference_wrapper<const _Tp> | |
cref(const _Tp& __t) noexcept | |
{ | |
return reference_wrapper<const _Tp>(__t); | |
} | |
template <class _Tp> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
reference_wrapper<const _Tp> | |
cref(reference_wrapper<_Tp> __t) noexcept | |
{ | |
return __t; | |
} | |
template <class _Tp> void ref(const _Tp&&) = delete; | |
template <class _Tp> void cref(const _Tp&&) = delete; | |
}} | |
# 20 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_destructor.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/allocator_destructor.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Alloc> | |
class __allocator_destructor | |
{ | |
typedef __attribute__((__nodebug__)) allocator_traits<_Alloc> __alloc_traits; | |
public: | |
typedef __attribute__((__nodebug__)) typename __alloc_traits::pointer pointer; | |
typedef __attribute__((__nodebug__)) typename __alloc_traits::size_type size_type; | |
private: | |
_Alloc& __alloc_; | |
size_type __s_; | |
public: | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __allocator_destructor(_Alloc& __a, size_type __s) | |
noexcept | |
: __alloc_(__a), __s_(__s) {} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
void operator()(pointer __p) noexcept | |
{__alloc_traits::deallocate(__alloc_, __p, __s_);} | |
}; | |
}} | |
# 25 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/shared_ptr.h" 2 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/unique_ptr.h" 1 3 | |
# 17 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__memory/unique_ptr.h" 3 | |
# 1 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/hash.h" 1 3 | |
# 33 "/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/__functional/hash.h" 3 | |
namespace std { inline namespace __1 { | |
template <class _Size> | |
inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
_Size | |
__loadword(const void* __p) | |
{ | |
_Size __r; | |
std::memcpy(&__r, __p, sizeof(__r)); | |
return __r; | |
} | |
template <class _Size, size_t = sizeof(_Size)*8> | |
struct __murmur2_or_cityhash; | |
template <class _Size> | |
struct __murmur2_or_cityhash<_Size, 32> | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) | |
_Size operator()(const void* __key, _Size __len) const { | |
const _Size __m = 0x5bd1e995; | |
const _Size __r = 24; | |
_Size __h = __len; | |
const unsigned char* __data = static_cast<const unsigned char*>(__key); | |
for (; __len >= 4; __data += 4, __len -= 4) | |
{ | |
_Size __k = std::__loadword<_Size>(__data); | |
__k *= __m; | |
__k ^= __k >> __r; | |
__k *= __m; | |
__h *= __m; | |
__h ^= __k; | |
} | |
switch (__len) | |
{ | |
case 3: | |
__h ^= static_cast<_Size>(__data[2] << 16); | |
[[fallthrough]]; | |
case 2: | |
__h ^= static_cast<_Size>(__data[1] << 8); | |
[[fallthrough]]; | |
case 1: | |
__h ^= __data[0]; | |
__h *= __m; | |
} | |
__h ^= __h >> 13; | |
__h *= __m; | |
__h ^= __h >> 15; | |
return __h; | |
} | |
}; | |
template <class _Size> | |
struct __murmur2_or_cityhash<_Size, 64> | |
{ | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) | |
_Size operator()(const void* __key, _Size __len) const { | |
const char* __s = static_cast<const char*>(__key); | |
if (__len <= 32) { | |
if (__len <= 16) { | |
return __hash_len_0_to_16(__s, __len); | |
} else { | |
return __hash_len_17_to_32(__s, __len); | |
} | |
} else if (__len <= 64) { | |
return __hash_len_33_to_64(__s, __len); | |
} | |
_Size __x = std::__loadword<_Size>(__s + __len - 40); | |
_Size __y = std::__loadword<_Size>(__s + __len - 16) + | |
std::__loadword<_Size>(__s + __len - 56); | |
_Size __z = __hash_len_16(std::__loadword<_Size>(__s + __len - 48) + __len, | |
std::__loadword<_Size>(__s + __len - 24)); | |
pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z); | |
pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x); | |
__x = __x * __k1 + std::__loadword<_Size>(__s); | |
__len = (__len - 1) & ~static_cast<_Size>(63); | |
do { | |
__x = __rotate(__x + __y + __v.first + std::__loadword<_Size>(__s + 8), 37) * __k1; | |
__y = __rotate(__y + __v.second + std::__loadword<_Size>(__s + 48), 42) * __k1; | |
__x ^= __w.second; | |
__y += __v.first + std::__loadword<_Size>(__s + 40); | |
__z = __rotate(__z + __w.first, 33) * __k1; | |
__v = __weak_hash_len_32_with_seeds(__s, __v.second * __k1, __x + __w.first); | |
__w = __weak_hash_len_32_with_seeds(__s + 32, __z + __w.second, | |
__y + std::__loadword<_Size>(__s + 16)); | |
std::swap(__z, __x); | |
__s += 64; | |
__len -= 64; | |
} while (__len != 0); | |
return __hash_len_16( | |
__hash_len_16(__v.first, __w.first) + __shift_mix(__y) * __k1 + __z, | |
__hash_len_16(__v.second, __w.second) + __x); | |
} | |
private: | |
static const _Size __k0 = 0xc3a5c85c97cb3127ULL; | |
static const _Size __k1 = 0xb492b66fbe98f273ULL; | |
static const _Size __k2 = 0x9ae16a3b2f90404fULL; | |
static const _Size __k3 = 0xc949d7c7509e6557ULL; | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static _Size __rotate(_Size __val, int __shift) { | |
return __shift == 0 ? __val : ((__val >> __shift) | (__val << (64 - __shift))); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static _Size __rotate_by_at_least_1(_Size __val, int __shift) { | |
return (__val >> __shift) | (__val << (64 - __shift)); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) | |
static _Size __shift_mix(_Size __val) { | |
return __val ^ (__val >> 47); | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) | |
static _Size __hash_len_16(_Size __u, _Size __v) { | |
const _Size __mul = 0x9ddfea08eb382d69ULL; | |
_Size __a = (__u ^ __v) * __mul; | |
__a ^= (__a >> 47); | |
_Size __b = (__v ^ __a) * __mul; | |
__b ^= (__b >> 47); | |
__b *= __mul; | |
return __b; | |
} | |
__attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("v170000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) | |
static _Size __hash_len_0_to_16(const char* __s, _Size __len) { | |
if (__len > 8) { | |
const _Size __a = std::__loadword<_Size>(__s); | |
const _Size __b = std::__loadword<_Size>(__s + __len - 8); | |
return __hash_len_16(__a, __rotate_by_at_least_1(__b + __len, __len)) ^ __b; | |
} | |
if (__len >= 4) { | |
const uint32_t __a = std::__loadword<uint32_t>(__s); | |
const uint32_t __b = std::__loadword<uint32_t>(__s + __len - 4); | |
return __hash_len_16(__len + (__a << 3), __b); | |
} | |
if (__len > 0) { | |
const unsigned char __a = static_cast<unsigned char>(__s[0]); | |
const unsigned char __b = static_cast<unsigned char>(__s[__len >> 1]); | |
const unsigned char __c = static_cast<unsigned char>(__s[__len - 1]); | |
const uint32_t __y = static_cast<uint32_t>(__a) + | |
(static_cast<uint32_t>(__b) << 8); | |
const uint32_t __z = __len + (static_cast<uint32_t>(__c) << 2); | |
return __shift_mix(__y * __k2 ^ __z * __k3) * __k2; | |
} | |
return __k2; | |
} | |
__attribute__((__ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment