// Code generated by make_textflag.go. DO NOT EDIT.

package attr

// Attribute values defined in textflag.h.
const (
	// Don't profile the marked routine. This flag is deprecated.
	NOPROF Attribute = 1

	// It is ok for the linker to get multiple of these symbols. It will
	// pick one of the duplicates to use.
	DUPOK Attribute = 2

	// Don't insert stack check preamble.
	NOSPLIT Attribute = 4

	// Put this data in a read-only section.
	RODATA Attribute = 8

	// This data contains no pointers.
	NOPTR Attribute = 16

	// This is a wrapper function and should not count as disabling 'recover'.
	WRAPPER Attribute = 32

	// This function uses its incoming context register.
	NEEDCTXT Attribute = 64

	// Allocate a word of thread local storage and store the offset from the
	// thread local base to the thread local storage in this variable.
	TLSBSS Attribute = 256

	// Do not insert instructions to allocate a stack frame for this function.
	// Only valid on functions that declare a frame size of 0.
	NOFRAME Attribute = 512

	// Function can call reflect.Type.Method or reflect.Type.MethodByName.
	REFLECTMETHOD Attribute = 1024

	// Function is the top of the call stack. Call stack unwinders should stop
	// at this function.
	TOPFRAME Attribute = 2048
)

var attrname = map[Attribute]string{
	NOPROF:        "NOPROF",
	DUPOK:         "DUPOK",
	NOSPLIT:       "NOSPLIT",
	RODATA:        "RODATA",
	NOPTR:         "NOPTR",
	WRAPPER:       "WRAPPER",
	NEEDCTXT:      "NEEDCTXT",
	TLSBSS:        "TLSBSS",
	NOFRAME:       "NOFRAME",
	REFLECTMETHOD: "REFLECTMETHOD",
	TOPFRAME:      "TOPFRAME",
}

// NOPROF reports whether the NOPROF flag is set.
func (a Attribute) NOPROF() bool { return (a & NOPROF) != 0 }

// DUPOK reports whether the DUPOK flag is set.
func (a Attribute) DUPOK() bool { return (a & DUPOK) != 0 }

// NOSPLIT reports whether the NOSPLIT flag is set.
func (a Attribute) NOSPLIT() bool { return (a & NOSPLIT) != 0 }

// RODATA reports whether the RODATA flag is set.
func (a Attribute) RODATA() bool { return (a & RODATA) != 0 }

// NOPTR reports whether the NOPTR flag is set.
func (a Attribute) NOPTR() bool { return (a & NOPTR) != 0 }

// WRAPPER reports whether the WRAPPER flag is set.
func (a Attribute) WRAPPER() bool { return (a & WRAPPER) != 0 }

// NEEDCTXT reports whether the NEEDCTXT flag is set.
func (a Attribute) NEEDCTXT() bool { return (a & NEEDCTXT) != 0 }

// TLSBSS reports whether the TLSBSS flag is set.
func (a Attribute) TLSBSS() bool { return (a & TLSBSS) != 0 }

// NOFRAME reports whether the NOFRAME flag is set.
func (a Attribute) NOFRAME() bool { return (a & NOFRAME) != 0 }

// REFLECTMETHOD reports whether the REFLECTMETHOD flag is set.
func (a Attribute) REFLECTMETHOD() bool { return (a & REFLECTMETHOD) != 0 }

// TOPFRAME reports whether the TOPFRAME flag is set.
func (a Attribute) TOPFRAME() bool { return (a & TOPFRAME) != 0 }
