builtins.c, [...]: Include tm_p.h.
authorRichard Henderson <rth@cygnus.com>
Thu, 23 Sep 1999 12:36:06 +0000 (05:36 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 23 Sep 1999 12:36:06 +0000 (05:36 -0700)
        * builtins.c, dbxout.c, varasm.c: Include tm_p.h.

        * alpha/alpha.c (print_operand): Fix type of `code'.
        (alpha_output_filename): Constify.
        * alpha/alpha.h: Move all function declarations ...
        * alpha/alpha-protos.h: ... here.  New file.
        * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
        (SECTION_FUNCTION_TEMPLATE): Likewise.

From-SVN: r29614

gcc/ChangeLog
gcc/builtins.c
gcc/config/alpha/alpha-protos.h [new file with mode: 0644]
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h
gcc/config/alpha/elf.h
gcc/dbxout.c
gcc/varasm.c

index 912eee50da6e37a2294499292c2fc8eca5fd4006..1896e349505f9d7cce61399b94ecb0f58cd97da8 100644 (file)
@@ -1,3 +1,14 @@
+Thu Sep 23 05:32:06 1999  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c, dbxout.c, varasm.c: Include tm_p.h.
+
+       * alpha/alpha.c (print_operand): Fix type of `code'.
+       (alpha_output_filename): Constify.
+       * alpha/alpha.h: Move all function declarations ...
+       * alpha/alpha-protos.h: ... here.  New file.
+       * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
+       (SECTION_FUNCTION_TEMPLATE): Likewise.
+
 Thu Sep 23 11:15:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
        * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
index 2d211f9c1a51dbe3f386fbf137ac1fc62ac05039..a5a197e017bd76a8441e0e9b6202e2d6505bc070 100644 (file)
@@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA.  */
 #include "typeclass.h"
 #include "defaults.h"
 #include "toplev.h"
+#include "tm_p.h"
 
 #define CALLED_AS_BUILT_IN(NODE) \
    (!strncmp (IDENTIFIER_POINTER (DECL_NAME (NODE)), "__builtin_", 10))
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
new file mode 100644 (file)
index 0000000..1a45d6b
--- /dev/null
@@ -0,0 +1,116 @@
+/* Prototypes for alpha.c functions used in the md file & elsewhere.
+   Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+extern void override_options PROTO ((void));
+extern int zap_mask PROTO ((HOST_WIDE_INT));
+extern int direct_return PROTO ((void));
+
+extern int alpha_sa_size PROTO ((void));
+extern int alpha_pv_save_size PROTO ((void));
+extern int alpha_using_fp PROTO ((void));
+extern void alpha_write_verstamp PROTO ((FILE *));
+extern void alpha_expand_prologue PROTO ((void));
+extern void output_end_prologue PROTO ((FILE *));
+extern void alpha_expand_epilogue PROTO ((void));
+extern void alpha_output_filename PROTO ((FILE *, const char *));
+extern void alpha_output_lineno PROTO ((FILE *, int));
+
+#ifdef RTX_CODE
+extern int reg_or_0_operand PROTO ((rtx, enum machine_mode));
+extern int reg_or_6bit_operand PROTO ((rtx, enum machine_mode));
+extern int reg_or_8bit_operand PROTO ((rtx, enum machine_mode));
+extern int cint8_operand PROTO ((rtx, enum machine_mode));
+extern int add_operand PROTO ((rtx, enum machine_mode));
+extern int sext_add_operand PROTO ((rtx, enum machine_mode));
+extern int const48_operand PROTO ((rtx, enum machine_mode));
+extern int and_operand PROTO ((rtx, enum machine_mode));
+extern int or_operand PROTO ((rtx, enum machine_mode));
+extern int mode_width_operand PROTO ((rtx, enum machine_mode));
+extern int mode_mask_operand PROTO ((rtx, enum machine_mode));
+extern int mul8_operand PROTO ((rtx, enum machine_mode));
+extern int fp0_operand PROTO ((rtx, enum machine_mode));
+extern int reg_or_fp0_operand PROTO ((rtx, enum machine_mode));
+extern int hard_fp_register_operand PROTO ((rtx, enum machine_mode));
+extern int reg_or_cint_operand PROTO ((rtx, enum machine_mode));
+extern int some_operand PROTO ((rtx, enum machine_mode));
+extern int input_operand PROTO ((rtx, enum machine_mode));
+extern int current_file_function_operand PROTO ((rtx, enum machine_mode));
+extern int call_operand PROTO ((rtx, enum machine_mode));
+extern int alpha_comparison_operator PROTO ((rtx, enum machine_mode));
+extern int alpha_swapped_comparison_operator PROTO ((rtx, enum machine_mode));
+extern int signed_comparison_operator PROTO ((rtx, enum machine_mode));
+extern int divmod_operator PROTO ((rtx, enum machine_mode));
+extern int aligned_memory_operand PROTO ((rtx, enum machine_mode));
+extern int unaligned_memory_operand PROTO ((rtx, enum machine_mode));
+extern int reg_or_unaligned_mem_operand PROTO ((rtx, enum machine_mode));
+extern int any_memory_operand PROTO ((rtx, enum machine_mode));
+extern int reg_not_elim_operand PROTO ((rtx, enum machine_mode));
+extern int normal_memory_operand PROTO ((rtx, enum machine_mode));
+extern int reg_no_subreg_operand PROTO ((rtx, enum machine_mode));
+
+extern void get_aligned_mem PROTO ((rtx, rtx *, rtx *));
+extern rtx get_unaligned_address PROTO ((rtx, int));
+
+extern void alpha_set_memflags PROTO ((rtx, rtx));
+extern rtx alpha_emit_set_const PROTO ((rtx, enum machine_mode,
+                                       HOST_WIDE_INT, int));
+extern rtx alpha_emit_set_long_const PROTO ((rtx, HOST_WIDE_INT,
+                                            HOST_WIDE_INT));
+extern rtx alpha_emit_conditional_branch PROTO ((enum rtx_code));
+extern rtx alpha_emit_conditional_move PROTO ((rtx, enum machine_mode));
+extern void alpha_expand_unaligned_load PROTO ((rtx, rtx, HOST_WIDE_INT,
+                                               HOST_WIDE_INT, int));
+extern void alpha_expand_unaligned_store PROTO ((rtx, rtx, HOST_WIDE_INT,
+                                                HOST_WIDE_INT));
+extern int alpha_expand_block_move PROTO ((rtx []));
+extern int alpha_expand_block_clear PROTO ((rtx []));
+extern int alpha_adjust_cost PROTO ((rtx, rtx, rtx, int));
+extern rtx alpha_return_addr PROTO ((int, rtx));
+extern void print_operand PROTO ((FILE *, rtx, int));
+extern void print_operand_address PROTO ((FILE *, rtx));
+extern void alpha_initialize_trampoline PROTO ((rtx, rtx, rtx, int, int, int));
+extern void alpha_reorg PROTO ((rtx));
+#endif /* RTX_CODE */
+
+#ifdef REAL_VALUE_TYPE
+extern int check_float_value PROTO ((enum machine_mode,
+                                    REAL_VALUE_TYPE *, int));
+#endif
+
+#if OPEN_VMS
+#ifdef HAVE_MACHINE_MODES
+extern enum avms_arg_type alpha_arg_type PROTO ((enum machine_mode));
+#endif
+extern rtx alpha_arg_info_reg_val PROTO ((CUMULATIVE_ARGS));
+extern void alpha_write_linkage PROTO ((FILE *));
+#endif /* OPEN_VMS */
+
+extern void alpha_need_linkage PROTO ((char *, int));
+
+#ifdef TREE_CODE
+extern tree alpha_build_va_list PROTO ((void));
+#ifdef RTX_CODE
+extern void alpha_va_start PROTO ((int, tree, rtx));
+extern rtx alpha_va_arg PROTO ((tree, tree));
+#endif
+extern int vms_valid_decl_attribute_p PROTO ((tree, tree, tree, tree));
+extern void alpha_start_function PROTO ((FILE *, char *, tree));
+extern void alpha_end_function PROTO ((FILE *, char *, tree));
+#endif /* TREE CODE */
index fbc1ebc395d1ba49ad17ad81a962353757e7e5f9..36cd20721f30d313e0d9c9599ec520d65f9cd12f 100644 (file)
@@ -41,6 +41,7 @@ Boston, MA 02111-1307, USA.  */
 #include "function.h"
 #include "toplev.h"
 #include "ggc.h"
+#include "tm_p.h"
 
 /* External data.  */
 extern char *version_string;
@@ -2642,7 +2643,7 @@ void
 print_operand (file, x, code)
     FILE *file;
     rtx x;
-    char code;
+    int code;
 {
   int i;
 
@@ -4149,7 +4150,7 @@ long alpha_auto_offset;
 void
 alpha_output_filename (stream, name)
      FILE *stream;
-     char *name;
+     const char *name;
 {
   static int first_time = TRUE;
   char ltext_label_name[100];
@@ -5186,7 +5187,7 @@ alpha_arg_type (mode)
 /* Return an rtx for an integer representing the VMS Argument Information
    register value.  */
 
-struct rtx_def *
+rtx
 alpha_arg_info_reg_val (cum)
      CUMULATIVE_ARGS cum;
 {
index 98eb40e3c5ae6c37c5f75091c43c3ec6869c9960..a894969aba71ca9e2fb5db119a7d6baab2c3e171 100644 (file)
@@ -351,7 +351,6 @@ extern const char *alpha_mlat_string;       /* For -mmemory-latency= */
    On the Alpha, it is used to translate target-option strings into
    numeric values.  */
 
-extern void override_options ();
 #define OVERRIDE_OPTIONS override_options ()
 
 
@@ -795,7 +794,6 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
    : (C) == 'S' ? (GET_CODE (OP) == CONST_INT                          \
                   && (unsigned HOST_WIDE_INT) INTVAL (OP) < 64)        \
    : 0)
-extern int normal_memory_operand ();
 
 /* Given an rtx X being reloaded into a reg required to be
    in class CLASS, return the class of reg to actually use.
@@ -1188,10 +1186,6 @@ extern int alpha_memory_latency;
    where the output has been placed if it can be done and the insns have been
    emitted.  If it would take more than N insns, zero is returned and no
    insns and emitted.  */
-extern struct rtx_def *alpha_emit_set_const ();
-extern struct rtx_def *alpha_emit_set_long_const ();
-extern struct rtx_def *alpha_emit_conditional_branch ();
-extern struct rtx_def *alpha_emit_conditional_move ();
 
 /* Define the information needed to generate branch and scc insns.  This is
    stored from the compare operation.  Note that we can't use "rtx" here
@@ -1218,7 +1212,6 @@ struct machine_function
 
 /* Make (or fake) .linkage entry for function call.
    IS_LOCAL is 0 if name is used in call, 1 if name is used in definition.  */
-extern void alpha_need_linkage ();
 
 /* This macro defines the start of an assembly comment.  */
 
@@ -1228,18 +1221,15 @@ extern void alpha_need_linkage ();
 
 #define ASM_DECLARE_FUNCTION_NAME(FILE,NAME,DECL) \
   alpha_start_function(FILE,NAME,DECL);
-extern void alpha_start_function ();
 
 /* This macro closes up a function definition for the assembler.  */
 
 #define ASM_DECLARE_FUNCTION_SIZE(FILE,NAME,DECL) \
   alpha_end_function(FILE,NAME,DECL)
-extern void alpha_end_function ();
    
 /* This macro notes the end of the prologue.  */
 
 #define FUNCTION_END_PROLOGUE(FILE)  output_end_prologue (FILE)
-extern void output_end_prologue ();
 
 /* Output any profiling code before the prologue.  */
 
@@ -1327,7 +1317,6 @@ do {                                              \
 
 #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
   alpha_initialize_trampoline (TRAMP, FNADDR, CXT, 16, 24, 8)
-extern void alpha_initialize_trampoline ();
 
 /* A C expression whose value is RTL representing the value of the return
    address for the frame COUNT steps up from the current frame.
@@ -1335,7 +1324,6 @@ extern void alpha_initialize_trampoline ();
    the COUNT-1 frame if RETURN_ADDR_IN_PREVIOUS_FRAME is defined.  */
 
 #define RETURN_ADDR_RTX  alpha_return_addr
-extern struct rtx_def *alpha_return_addr ();
 
 /* Before the prologue, RA lives in $26. */
 #define INCOMING_RETURN_ADDR_RTX  gen_rtx_REG (Pmode, 26)
@@ -2401,11 +2389,9 @@ extern long alpha_auto_offset;
 
 #define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE)                           \
   alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
 
 #define ASM_OUTPUT_SOURCE_FILENAME(STREAM, NAME)                       \
   alpha_output_filename (STREAM, NAME)
-extern void alpha_output_filename ();
 
 /* mips-tfile.c limits us to strings of one page.  We must underestimate this
    number, because the real length runs past this up to the next
@@ -2514,55 +2500,3 @@ do {                                                     \
 
 /* The system headers under Alpha systems are generally C++-aware.  */
 #define NO_IMPLICIT_EXTERN_C
-
-/* Prototypes for alpha.c functions used in the md file & elsewhere.  */
-extern struct rtx_def *get_unaligned_address ();
-extern void alpha_write_verstamp ();
-extern void alpha_reorg ();
-extern int check_float_value ();
-extern int direct_return ();
-extern int const48_operand ();
-extern int add_operand ();
-extern int and_operand ();
-extern int unaligned_memory_operand ();
-extern int zap_mask ();
-extern int current_file_function_operand ();
-extern int alpha_sa_size ();
-extern int alpha_adjust_cost ();
-extern void print_operand ();
-extern void print_operand_address ();
-extern int reg_or_0_operand ();
-extern int reg_or_8bit_operand ();
-extern int mul8_operand ();
-extern int reg_or_6bit_operand ();
-extern int alpha_comparison_operator ();
-extern int alpha_swapped_comparison_operator ();
-extern int sext_add_operand ();
-extern int cint8_operand ();
-extern int mode_mask_operand ();
-extern int or_operand ();
-extern int mode_width_operand ();
-extern int reg_or_fp0_operand ();
-extern int signed_comparison_operator ();
-extern int fp0_operand ();
-extern int some_operand ();
-extern int input_operand ();
-extern int divmod_operator ();
-extern int call_operand ();
-extern int reg_or_cint_operand ();
-extern int hard_fp_register_operand ();
-extern int reg_not_elim_operand ();
-extern int normal_memory_operand ();
-extern int reg_no_subreg_operand ();
-extern void alpha_set_memflags ();
-extern int aligned_memory_operand ();
-extern void get_aligned_mem ();
-extern void alpha_expand_unaligned_load ();
-extern void alpha_expand_unaligned_store ();
-extern int alpha_expand_block_move ();
-extern int alpha_expand_block_clear ();
-extern void alpha_expand_prologue ();
-extern void alpha_expand_epilogue ();
-extern union tree_node *alpha_build_va_list ();
-extern void alpha_va_start ();
-extern struct rtx_def *alpha_va_arg ();
index 0765c8754b6787a4fedab15f1854322ca2cea64f..a4e1acc1c9c02ef145be52a0cf054a1b671b08b5 100644 (file)
@@ -270,27 +270,29 @@ do {                                                                      \
 
 extern void text_section ();
 
-#define CONST_SECTION_FUNCTION                                         \
-void                                                                   \
-const_section ()                                                       \
-{                                                                      \
-  if (!USE_CONST_SECTION)                                              \
-    text_section();                                                    \
-  else if (in_section != in_const)                                     \
-    {                                                                  \
-      fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP);            \
-      in_section = in_const;                                           \
-    }                                                                  \
+#define CONST_SECTION_FUNCTION                                 \
+void const_section PROTO ((void));                             \
+void                                                           \
+const_section ()                                               \
+{                                                              \
+  if (!USE_CONST_SECTION)                                      \
+    text_section();                                            \
+  else if (in_section != in_const)                             \
+    {                                                          \
+      fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP);    \
+      in_section = in_const;                                   \
+    }                                                          \
 }
 
-#define SECTION_FUNCTION_TEMPLATE(FN, ENUM, OP)                                \
-void FN ()                                                             \
-{                                                                      \
-  if (in_section != ENUM)                                              \
-    {                                                                  \
-      fprintf (asm_out_file, "%s\n", OP);                              \
-      in_section = ENUM;                                               \
-    }                                                                  \
+#define SECTION_FUNCTION_TEMPLATE(FN, ENUM, OP)        \
+void FN PROTO ((void));                                \
+void FN ()                                     \
+{                                              \
+  if (in_section != ENUM)                      \
+    {                                          \
+      fprintf (asm_out_file, "%s\n", OP);      \
+      in_section = ENUM;                       \
+    }                                          \
 }
 
 
index 6dd2f30d6dab3a5b1cea6129130f14d64a643e5b..3ed9c4ba64a957f4cf21d6bd6eb8e306692b8a89 100644 (file)
@@ -80,6 +80,7 @@ Boston, MA 02111-1307, USA.  */
 #include "output.h" /* ASM_OUTPUT_SOURCE_LINE may refer to sdb functions.  */
 #include "dbxout.h"
 #include "toplev.h"
+#include "tm_p.h"
 
 #ifdef XCOFF_DEBUGGING_INFO
 #include "xcoffout.h"
index cf56a09f3ad071978bd22df61f52d06bce880cdd..d8559d4c1a0ae9d9e5389b9cad7849adffba77f9 100644 (file)
@@ -42,10 +42,10 @@ Boston, MA 02111-1307, USA.  */
 #include "toplev.h"
 #include "dbxout.h"
 #include "sdbout.h"
-
 #include "obstack.h"
 #include "c-pragma.h"
 #include "ggc.h"
+#include "tm_p.h"
 
 #ifdef XCOFF_DEBUGGING_INFO
 #include "xcoffout.h"