[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This concerns dispatch tables.
ASM_OUTPUT_ADDR_DIFF_ELT (stream, body, value, rel)
ASM_OUTPUT_INTERNAL_LABEL
, and they must be printed in the same
way here. For example,
fprintf (stream, "\t.word L%d-L%d\n", value, rel) |
You must provide this macro on machines where the addresses in a dispatch table are relative to the table's own address. If defined, GNU CC will also use this macro on all machines when producing PIC. body is the body of the ADDR_DIFF_VEC; it is provided so that the mode and flags can be read.
ASM_OUTPUT_ADDR_VEC_ELT (stream, value)
The definition should be a C statement to output to the stdio stream
stream an assembler pseudo-instruction to generate a reference to
a label. value is the number of an internal label whose
definition is output using ASM_OUTPUT_INTERNAL_LABEL
.
For example,
fprintf (stream, "\t.word L%d\n", value) |
ASM_OUTPUT_CASE_LABEL (stream, prefix, num, table)
ASM_OUTPUT_INTERNAL_LABEL
; the fourth argument is the
jump-table which follows (a jump_insn
containing an
addr_vec
or addr_diff_vec
).
This feature is used on system V to output a swbeg
statement
for the table.
If this macro is not defined, these labels are output with
ASM_OUTPUT_INTERNAL_LABEL
.
ASM_OUTPUT_CASE_END (stream, num, table)
If this macro is not defined, nothing special is output at the end of the jump-table.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |