7.54 .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.