OSDN Git Service

* gcc.c-torture/execute/strct-stdarg-1.x: New file. Expect
[pf3gnuchains/gcc-fork.git] / gcc / output.h
index 7937988..1a2eefb 100644 (file)
@@ -141,7 +141,7 @@ extern int add_weak PARAMS ((const char *, const char *));
 
 /* Functions in flow.c */
 extern void allocate_for_life_analysis PARAMS ((void));
-extern int regno_uninitialized         PARAMS ((int));
+extern int regno_uninitialized         PARAMS ((unsigned int));
 extern int regno_clobbered_at_setjmp   PARAMS ((int));
 extern void find_basic_blocks          PARAMS ((rtx, int, FILE *));
 extern bool cleanup_cfg                        PARAMS ((int));
@@ -206,6 +206,10 @@ extern void drectve_section PARAMS ((void));
 extern void sdata_section PARAMS ((void));
 #endif
 
+#ifdef RDATA_SECTION_ASM_OP
+extern void rdata_section PARAMS ((void));
+#endif
+
 #ifdef TREE_CODE
 /* Tell assembler to change to section NAME for DECL.
    If DECL is NULL, just switch to section NAME.
@@ -311,12 +315,34 @@ extern void assemble_eh_label             PARAMS ((const char *));
    Many macros in the tm file are defined to call this function.  */
 extern void assemble_name              PARAMS ((FILE *, const char *));
 
+/* Return the assembler directive for creating a given kind of integer
+   object.  SIZE is the number of bytes in the object and ALIGNED_P
+   indicates whether it is known to be aligned.  Return NULL if the
+   assembly dialect has no such directive.
+
+   The returned string should be printed at the start of a new line and
+   be followed immediately by the object's initial value.  */
+extern const char *integer_asm_op      PARAMS ((int, int));
+
 #ifdef RTX_CODE
+/* Use directive OP to assemble an integer object X.  Print OP at the
+   start of the line, followed immediately by the value of X.  */
+extern void assemble_integer_with_op   PARAMS ((const char *, rtx));
+
+/* The default implementation of the asm_out.integer target hook.  */
+extern bool default_assemble_integer   PARAMS ((rtx, unsigned int, int));
+
 /* Assemble the integer constant X into an object of SIZE bytes.  ALIGN is
    the alignment of the integer in bits.  Return 1 if we were able to output
    the constant, otherwise 0.  If FORCE is non-zero, abort if we can't output
    the constant.  */
-extern int assemble_integer            PARAMS ((rtx, unsigned, unsigned, int));
+extern bool assemble_integer           PARAMS ((rtx, unsigned, unsigned, int));
+
+/* An interface to assemble_integer for the common case in which a value is
+   fully aligned and must be printed.  VALUE is the value of the integer
+   object and SIZE is the number of bytes it contains.  */
+#define assemble_aligned_integer(SIZE, VALUE) \
+  assemble_integer (VALUE, SIZE, (SIZE) * BITS_PER_UNIT, 1)
 
 #ifdef REAL_VALUE_TYPE
 /* Assemble the floating-point constant D into an object of size MODE.  */
@@ -368,7 +394,8 @@ extern tree initializer_constant_valid_p    PARAMS ((tree, tree));
    with zeros if necessary.  SIZE must always be specified.
 
    ALIGN is the alignment in bits that may be assumed for the data.  */
-extern void output_constant            PARAMS ((tree, int, unsigned));
+extern void output_constant            PARAMS ((tree, HOST_WIDE_INT,
+                                                unsigned int));
 #endif
 
 #ifdef RTX_CODE