-/* A C statement to output to the stdio stream STREAM an assembler instruction
- to assemble a string constant containing the LEN bytes at PTR. PTR will be
- a C expression of type `char *' and LEN a C expression of type `int'.
-
- If the assembler has a `.ascii' pseudo-op as found in the Berkeley Unix
- assembler, do not define the macro `ASM_OUTPUT_ASCII'.
-
- Defined in svr4.h. */
-/* #define ASM_OUTPUT_ASCII(STREAM, PTR, LEN) */
-
-/* You may define this macro as a C expression. You should define the
- expression to have a non-zero value if GNU CC should output the
- constant pool for a function before the code for the function, or
- a zero value if GNU CC should output the constant pool after the
- function. If you do not define this macro, the usual case, GNU CC
- will output the constant pool before the function. */
-/* #define CONSTANT_POOL_BEFORE_FUNCTION */
-
-/* A C statement to output assembler commands to define the start of the
- constant pool for a function. FUNNAME is a string giving the name of the
- function. Should the return type of the function be required, it can be
- obtained via FUNDECL. SIZE is the size, in bytes, of the constant pool that
- will be written immediately after this call.
-
- If no constant-pool prefix is required, the usual case, this macro need not
- be defined. */
-/* #define ASM_OUTPUT_POOL_PROLOGUE(FILE FUNNAME FUNDECL SIZE) */
-
-/* A C statement (with or without semicolon) to output a constant in the
- constant pool, if it needs special treatment. (This macro need not do
- anything for RTL expressions that can be output normally.)
-
- The argument FILE is the standard I/O stream to output the assembler code
- on. X is the RTL expression for the constant to output, and MODE is the
- machine mode (in case X is a `const_int'). ALIGN is the required alignment
- for the value X; you should output an assembler directive to force this much
- alignment.
-
- The argument LABELNO is a number to use in an internal label for the address
- of this pool entry. The definition of this macro is responsible for
- outputting the label definition at the proper place. Here is how to do
- this:
-
- ASM_OUTPUT_INTERNAL_LABEL (FILE, "LC", LABELNO);
-
- When you output a pool entry specially, you should end with a `goto' to the
- label JUMPTO. This will prevent the same pool entry from being output a
- second time in the usual manner.
-
- You need not define this macro if it would do nothing. */
-/* #define ASM_OUTPUT_SPECIAL_POOL_ENTRY(FILE, X, MODE, ALIGN, LABELNO, JUMPTO) */
-
-/* Define this macro as a C expression which is nonzero if the constant EXP, of
- type `tree', should be output after the code for a function. The compiler
- will normally output all constants before the function; you need not define
- this macro if this is OK. */
-/* #define CONSTANT_AFTER_FUNCTION_P(EXP) */
-
-/* A C statement to output assembler commands to at the end of the constant
- pool for a function. FUNNAME is a string giving the name of the function.
- Should the return type of the function be required, you can obtain it via
- FUNDECL. SIZE is the size, in bytes, of the constant pool that GNU CC wrote
- immediately before this call.
-
- If no constant-pool epilogue is required, the usual case, you need not
- define this macro. */
-/* #define ASM_OUTPUT_POOL_EPILOGUE (FILE FUNNAME FUNDECL SIZE) */
-
-/* Define this macro as a C expression which is nonzero if C is used as a
- logical line separator by the assembler.
-
- If you do not define this macro, the default is that only the character `;'
- is treated as a logical line separator. */
-#define IS_ASM_LOGICAL_LINE_SEPARATOR(C) ((C) == '|')
-
-/* These macros are provided by `real.h' for writing the definitions of
- `ASM_OUTPUT_DOUBLE' and the like: */
-
-/* These translate X, of type `REAL_VALUE_TYPE', to the target's floating point
- representation, and store its bit pattern in the array of `long int' whose
- address is L. The number of elements in the output array is determined by
- the size of the desired target floating point data type: 32 bits of it go in
- each `long int' array element. Each array element holds 32 bits of the
- result, even if `long int' is wider than 32 bits on the host machine.
-
- The array element values are designed so that you can print them out using
- `fprintf' in the order they should appear in the target machine's memory. */
-/* #define REAL_VALUE_TO_TARGET_SINGLE(X, L) */
-/* #define REAL_VALUE_TO_TARGET_DOUBLE(X, L) */
-/* #define REAL_VALUE_TO_TARGET_LONG_DOUBLE(X, L) */
-
-/* This macro converts X, of type `REAL_VALUE_TYPE', to a decimal number and
- stores it as a string into STRING. You must pass, as STRING, the address of
- a long enough block of space to hold the result.
-
- The argument FORMAT is a `printf'-specification that serves as a suggestion
- for how to format the output string. */
-/* #define REAL_VALUE_TO_DECIMAL(X, FORMAT, STRING) */
-
-\f
-/* Output of Uninitialized Variables. */
-
-/* A C statement (sans semicolon) to output to the stdio stream STREAM the
- assembler definition of a common-label named NAME whose size is SIZE bytes.
- The variable ROUNDED is the size rounded up to whatever alignment the caller
- wants.
-
- Use the expression `assemble_name (STREAM, NAME)' to output the name itself;
- before and after that, output the additional assembler syntax for defining
- the name, and a newline.
-
- This macro controls how the assembler definitions of uninitialized global
- variables are output. */
-/* #define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) */
-
-/* Like `ASM_OUTPUT_COMMON' except takes the required alignment as a separate,
- explicit argument. If you define this macro, it is used in place of
- `ASM_OUTPUT_COMMON', and gives you more flexibility in handling the required
- alignment of the variable. The alignment is specified as the number of
- bits.
-
- Defined in svr4.h. */
-/* #define ASM_OUTPUT_ALIGNED_COMMON(STREAM, NAME, SIZE, ALIGNMENT) */
-
-/* Like ASM_OUTPUT_ALIGNED_COMMON except that it takes an additional argument -
- the DECL of the variable to be output, if there is one. This macro can be
- called with DECL == NULL_TREE. If you define this macro, it is used in
- place of both ASM_OUTPUT_COMMON and ASM_OUTPUT_ALIGNED_COMMON, and gives you
- more flexibility in handling the destination of the variable. */
-/* #define ASM_OUTPUT_DECL_COMMON (STREAM, DECL, NAME, SIZE, ALIGNMENT) */
-
-/* If defined, it is similar to `ASM_OUTPUT_COMMON', except that it is used
- when NAME is shared. If not defined, `ASM_OUTPUT_COMMON' will be used. */
-/* #define ASM_OUTPUT_SHARED_COMMON(STREAM, NAME, SIZE, ROUNDED) */
-
-/* A C statement (sans semicolon) to output to the stdio stream STREAM the
- assembler definition of uninitialized global DECL named NAME whose size is
- SIZE bytes. The variable ROUNDED is the size rounded up to whatever
- alignment the caller wants.
-
- Try to use function `asm_output_bss' defined in `varasm.c' when defining
- this macro. If unable, use the expression `assemble_name (STREAM, NAME)' to
- output the name itself; before and after that, output the additional
- assembler syntax for defining the name, and a newline.
-
- This macro controls how the assembler definitions of uninitialized global
- variables are output. This macro exists to properly support languages like
- `c++' which do not have `common' data. However, this macro currently is not
- defined for all targets. If this macro and `ASM_OUTPUT_ALIGNED_BSS' are not
- defined then `ASM_OUTPUT_COMMON' or `ASM_OUTPUT_ALIGNED_COMMON' or
- `ASM_OUTPUT_DECL_COMMON' is used. */
-/* #define ASM_OUTPUT_BSS(STREAM, DECL, NAME, SIZE, ROUNDED) */
-
-/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a separate,
- explicit argument. If you define this macro, it is used in place of
- `ASM_OUTPUT_BSS', and gives you more flexibility in handling the required
- alignment of the variable. The alignment is specified as the number of
- bits.
-
- Try to use function `asm_output_aligned_bss' defined in file `varasm.c' when
- defining this macro. */
-/* #define ASM_OUTPUT_ALIGNED_BSS(STREAM, DECL, NAME, SIZE, ALIGNMENT) */
-
-/* If defined, it is similar to `ASM_OUTPUT_BSS', except that it is used when
- NAME is shared. If not defined, `ASM_OUTPUT_BSS' will be used. */
-/* #define ASM_OUTPUT_SHARED_BSS(STREAM, DECL, NAME, SIZE, ROUNDED) */
-
-/* A C statement (sans semicolon) to output to the stdio stream STREAM the
- assembler definition of a local-common-label named NAME whose size is SIZE
- bytes. The variable ROUNDED is the size rounded up to whatever alignment
- the caller wants.
-
- Use the expression `assemble_name (STREAM, NAME)' to output the name itself;
- before and after that, output the additional assembler syntax for defining
- the name, and a newline.
-
- This macro controls how the assembler definitions of uninitialized static
- variables are output. */
-/* #define ASM_OUTPUT_LOCAL(STREAM, NAME, SIZE, ROUNDED) */
-
-/* Like `ASM_OUTPUT_LOCAL' except takes the required alignment as a separate,
- explicit argument. If you define this macro, it is used in place of
- `ASM_OUTPUT_LOCAL', and gives you more flexibility in handling the required
- alignment of the variable. The alignment is specified as the number of
- bits.
-
- Defined in svr4.h. */
-/* #define ASM_OUTPUT_ALIGNED_LOCAL(STREAM, NAME, SIZE, ALIGNMENT) */
-
-/* Like `ASM_OUTPUT_ALIGNED_LOCAL' except that it takes an additional
- parameter - the DECL of variable to be output, if there is one.
- This macro can be called with DECL == NULL_TREE. If you define
- this macro, it is used in place of `ASM_OUTPUT_LOCAL' and
- `ASM_OUTPUT_ALIGNED_LOCAL', and gives you more flexibility in
- handling the destination of the variable. */
-/* #define ASM_OUTPUT_DECL_LOCAL(STREAM, DECL, NAME, SIZE, ALIGNMENT) */
-
-/* If defined, it is similar to `ASM_OUTPUT_LOCAL', except that it is used when
- NAME is shared. If not defined, `ASM_OUTPUT_LOCAL' will be used. */
-/* #define ASM_OUTPUT_SHARED_LOCAL (STREAM, NAME, SIZE, ROUNDED) */