aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-09-23 05:36:06 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-09-23 05:36:06 -0700
commitaa388f29a30a2fa98275479ee44b9448786f62ed (patch)
treea97648bf96d707dcaa472fb69d4985af422b600b /gcc
parent1c0290eaac40944ba6baed8323b74f42ab7f05c9 (diff)
downloadgcc-aa388f29a30a2fa98275479ee44b9448786f62ed.zip
gcc-aa388f29a30a2fa98275479ee44b9448786f62ed.tar.gz
gcc-aa388f29a30a2fa98275479ee44b9448786f62ed.tar.bz2
builtins.c, [...]: Include tm_p.h.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/builtins.c1
-rw-r--r--gcc/config/alpha/alpha-protos.h116
-rw-r--r--gcc/config/alpha/alpha.c7
-rw-r--r--gcc/config/alpha/alpha.h66
-rw-r--r--gcc/config/alpha/elf.h40
-rw-r--r--gcc/dbxout.c1
-rw-r--r--gcc/varasm.c2
8 files changed, 155 insertions, 89 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 912eee5..1896e34 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 2d211f9..a5a197e 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -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
index 0000000..1a45d6b
--- /dev/null
+++ b/gcc/config/alpha/alpha-protos.h
@@ -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 */
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index fbc1ebc..36cd207 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -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;
{
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 98eb40e..a894969 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -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 ();
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index 0765c87..a4e1acc 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -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; \
+ } \
}
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 6dd2f30..3ed9c4b 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -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"
diff --git a/gcc/varasm.c b/gcc/varasm.c
index cf56a09..d8559d4 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -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"