]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/v850/v850-protos.h
alpha.c (alpha_start_function): Use switch_to_section.
[thirdparty/gcc.git] / gcc / config / v850 / v850-protos.h
CommitLineData
5d8f8b65 1/* Prototypes for v850.c functions used in the md file & elsewhere.
83310f56 2 Copyright (C) 1999, 2000, 2002, 2004, 2005 Free Software Foundation, Inc.
5d8f8b65 3
301ee2f3 4 This file is part of GCC.
5d8f8b65 5
301ee2f3 6 GCC is free software; you can redistribute it and/or modify
8376061d
CM
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
5d8f8b65 10
301ee2f3 11 GCC is distributed in the hope that it will be useful,
8376061d
CM
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
5d8f8b65 15
8376061d 16 You should have received a copy of the GNU General Public License
301ee2f3 17 along with GCC; see the file COPYING. If not, write to
39d14dda
KC
18 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
5d8f8b65
NC
20
21/* Function prototypes that cannot exist in v850.h due to dependency
d6a7951f 22 complications. */
8b97c5f8
ZW
23#ifndef GCC_V850_PROTOS_H
24#define GCC_V850_PROTOS_H
25
5d8f8b65
NC
26#define Mmode enum machine_mode
27
59f3507d
NN
28extern void expand_prologue (void);
29extern void expand_epilogue (void);
59f3507d 30extern int v850_handle_pragma (int (*)(void), void (*)(int), char *);
59f3507d
NN
31extern int compute_register_save_size (long *);
32extern int compute_frame_size (int, long *);
33extern void v850_init_expanders (void);
5d8f8b65
NC
34
35#ifdef RTX_CODE
59f3507d
NN
36extern int v850_output_addr_const_extra (FILE *, rtx);
37extern rtx v850_return_addr (int);
38extern void print_operand (FILE *, rtx, int );
39extern void print_operand_address (FILE *, rtx);
40extern const char *output_move_double (rtx *);
41extern const char *output_move_single (rtx *);
42extern void notice_update_cc (rtx, rtx);
43extern char * construct_save_jarl (rtx);
44extern char * construct_restore_jr (rtx);
5d8f8b65 45#ifdef HAVE_MACHINE_MODES
59f3507d
NN
46extern char * construct_dispose_instruction (rtx);
47extern char * construct_prepare_instruction (rtx);
59f3507d 48extern int ep_memory_operand (rtx, Mmode, int);
5d8f8b65 49#ifdef TREE_CODE
59f3507d 50extern rtx function_arg (CUMULATIVE_ARGS *, Mmode, tree, int);
5d8f8b65
NC
51#endif
52#endif
53#endif /* TREE_CODE */
54
55#ifdef TREE_CODE
59f3507d 56extern int v850_interrupt_function_p (tree);
ea40ba9c 57extern void v850_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int);
59f3507d
NN
58extern void v850_output_common (FILE *, tree, const char *, int, int);
59extern void v850_output_local (FILE *, tree, const char *, int, int);
60extern v850_data_area v850_get_data_area (tree);
5d8f8b65
NC
61#endif
62
59f3507d
NN
63extern void ghs_pragma_section (struct cpp_reader *);
64extern void ghs_pragma_interrupt (struct cpp_reader *);
65extern void ghs_pragma_starttda (struct cpp_reader *);
66extern void ghs_pragma_startsda (struct cpp_reader *);
67extern void ghs_pragma_startzda (struct cpp_reader *);
68extern void ghs_pragma_endtda (struct cpp_reader *);
69extern void ghs_pragma_endsda (struct cpp_reader *);
70extern void ghs_pragma_endzda (struct cpp_reader *);
8b97c5f8 71
5d8f8b65
NC
72#undef Mmode
73
88657302 74#endif /* ! GCC_V850_PROTOS_H */