### 7.95 `.type`

This directive is used to set the type of a symbol.

#### COFF Version

For COFF targets, this directive is permitted only within `.def`/`.endef` pairs. It is used like this:

         .type int

This records the integer int as the type attribute of a symbol table entry.

.type is associated only with COFF format output; when as is configured for `b.out` output, it accepts this directive but ignores it.

#### ELF Version

For ELF targets, the `.type` directive is used like this:

         .type name , type description

This sets the type of symbol name to be either a function symbol or an object symbol. There are five different syntaxes supported for the type description field, in order to provide compatibility with various other assemblers. The syntaxes supported are:

           .type <name>,#function
           .type <name>,#object

           .type <name>,@function
           .type <name>,@object

           .type <name>,%function
           .type <name>,%object

           .type <name>,"function"
           .type <name>,"object"

           .type <name> STT_FUNCTION
           .type <name> STT_OBJECT