as: Loc
7.57 '.loc FILENO LINENO [COLUMN] [OPTIONS]'
============================================
When emitting DWARF2 line number information, the '.loc' directive will
add a row to the '.debug_line' line number matrix corresponding to the
immediately following assembly instruction. The FILENO, LINENO, and
optional COLUMN arguments will be applied to the '.debug_line' state
machine before the row is added.
The OPTIONS are a sequence of the following tokens in any order:
'basic_block'
This option will set the 'basic_block' register in the
'.debug_line' state machine to 'true'.
'prologue_end'
This option will set the 'prologue_end' register in the
'.debug_line' state machine to 'true'.
'epilogue_begin'
This option will set the 'epilogue_begin' register in the
'.debug_line' state machine to 'true'.
'is_stmt VALUE'
This option will set the 'is_stmt' register in the '.debug_line'
state machine to 'value', which must be either 0 or 1.
'isa VALUE'
This directive will set the 'isa' register in the '.debug_line'
state machine to VALUE, which must be an unsigned integer.
'discriminator VALUE'
This directive will set the 'discriminator' register in the
'.debug_line' state machine to VALUE, which must be an unsigned
integer.
'view VALUE'
This option causes a row to be added to '.debug_line' in reference
to the current address (which might not be the same as that of the
following assembly instruction), and to associate VALUE with the
'view' register in the '.debug_line' state machine. If VALUE is a
label, both the 'view' register and the label are set to the number
of prior '.loc' directives at the same program location. If VALUE
is the literal '0', the 'view' register is set to zero, and the
assembler asserts that there aren't any prior '.loc' directives at
the same program location. If VALUE is the literal '-0', the
assembler arrange for the 'view' register to be reset in this row,
even if there are prior '.loc' directives at the same program
location.