GCC with patches for Dreamcast
Revisão | 0c2768fc81bafc1c2d2e303109ab90aa718dd72b (tree) |
---|---|
Hora | 1991-12-11 09:33:02 |
Autor | Richard Stallman <rms@gnu....> |
Commiter | Richard Stallman |
Initial revision
From-SVN: r113
@@ -0,0 +1,143 @@ | ||
1 | +/* Declarations for insn-output.c. These functions are defined in recog.c, | |
2 | + final.c, and varasm.c. | |
3 | + Copyright (C) 1987-1991 Free Software Foundation, Inc. | |
4 | + | |
5 | +This file is part of GNU CC. | |
6 | + | |
7 | +GNU CC is free software; you can redistribute it and/or modify | |
8 | +it under the terms of the GNU General Public License as published by | |
9 | +the Free Software Foundation; either version 2, or (at your option) | |
10 | +any later version. | |
11 | + | |
12 | +GNU CC is distributed in the hope that it will be useful, | |
13 | +but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | +GNU General Public License for more details. | |
16 | + | |
17 | +You should have received a copy of the GNU General Public License | |
18 | +along with GNU CC; see the file COPYING. If not, write to | |
19 | +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
20 | + | |
21 | +/* Output a string of assembler code, substituting insn operands. | |
22 | + Defined in final.c. */ | |
23 | +void output_asm_insn (); | |
24 | + | |
25 | +/* Output a string of assembler code, substituting numbers, strings | |
26 | + and fixed syntactic prefixes. */ | |
27 | +void asm_fprintf (); | |
28 | + | |
29 | +/* When outputting assembler code, indicates which alternative | |
30 | + of the constraints was actually satisfied. */ | |
31 | +extern int which_alternative; | |
32 | + | |
33 | +/* When outputting delayed branch sequences, this rtx holds the | |
34 | + sequence being output. It is null when no delayed branch | |
35 | + sequence is being output, so it can be used as a test in the | |
36 | + insn output code. | |
37 | + | |
38 | + This variable is defined in final.c. */ | |
39 | +extern rtx final_sequence; | |
40 | + | |
41 | +/* Number of bytes of args popped by function being compiled on its return. | |
42 | + Zero if no bytes are to be popped. | |
43 | + May affect compilation of return insn or of function epilogue. */ | |
44 | + | |
45 | +extern int current_function_pops_args; | |
46 | + | |
47 | +/* Nonzero if function being compiled needs to be given an address | |
48 | + where the value should be stored. */ | |
49 | + | |
50 | +extern int current_function_returns_struct; | |
51 | + | |
52 | +/* Nonzero if function being compiled needs to | |
53 | + return the address of where it has put a structure value. */ | |
54 | + | |
55 | +extern int current_function_returns_pcc_struct; | |
56 | + | |
57 | +/* Nonzero if function being compiled needs to be passed a static chain. */ | |
58 | + | |
59 | +extern int current_function_needs_context; | |
60 | + | |
61 | +/* Nonzero if function being compiled can call setjmp. */ | |
62 | + | |
63 | +extern int current_function_calls_setjmp; | |
64 | + | |
65 | +/* Nonzero if function being compiled can call longjmp. */ | |
66 | + | |
67 | +extern int current_function_calls_longjmp; | |
68 | + | |
69 | +/* Nonzero if function being compiled can call alloca, | |
70 | + either as a subroutine or builtin. */ | |
71 | + | |
72 | +extern int current_function_calls_alloca; | |
73 | + | |
74 | +/* Nonzero if function being compiled receives nonlocal gotos | |
75 | + from nested functions. */ | |
76 | + | |
77 | +extern int current_function_has_nonlocal_label; | |
78 | + | |
79 | +/* Nonzero if function being compiled contains nested functions. */ | |
80 | + | |
81 | +extern int current_function_contains_functions; | |
82 | + | |
83 | +/* Nonzero if the current function returns a pointer type */ | |
84 | + | |
85 | +extern int current_function_returns_pointer; | |
86 | + | |
87 | +/* If function's args have a fixed size, this is that size, in bytes. | |
88 | + Otherwise, it is -1. | |
89 | + May affect compilation of return insn or of function epilogue. */ | |
90 | + | |
91 | +extern int current_function_args_size; | |
92 | + | |
93 | +/* # bytes the prologue should push and pretend that the caller pushed them. | |
94 | + The prologue must do this, but only if parms can be passed in registers. */ | |
95 | + | |
96 | +extern int current_function_pretend_args_size; | |
97 | + | |
98 | +/* # of bytes of outgoing arguments required to be pushed by the prologue. | |
99 | + If this is non-zero, it means that ACCUMULATE_OUTGOING_ARGS was defined | |
100 | + and no stack adjusts will be done on function calls. */ | |
101 | + | |
102 | +extern int current_function_outgoing_args_size; | |
103 | + | |
104 | +/* Nonzero if current function uses varargs.h or equivalent. | |
105 | + Zero for functions that use stdarg.h. */ | |
106 | + | |
107 | +extern int current_function_varargs; | |
108 | + | |
109 | +/* Quantities of various kinds of registers | |
110 | + used for the current function's args. */ | |
111 | + | |
112 | +extern CUMULATIVE_ARGS current_function_args_info; | |
113 | + | |
114 | +/* Name of function now being compiled. */ | |
115 | + | |
116 | +extern char *current_function_name; | |
117 | + | |
118 | +/* If non-zero, an RTL expression for that location at which the current | |
119 | + function returns its result. Usually equal to | |
120 | + DECL_RTL (DECL_RESULT (current_function_decl)). */ | |
121 | + | |
122 | +extern rtx current_function_return_rtx; | |
123 | + | |
124 | +/* If some insns can be deferred to the delay slots of the epilogue, the | |
125 | + delay list for them is recorded here. */ | |
126 | + | |
127 | +extern rtx current_function_epilogue_delay_list; | |
128 | + | |
129 | +/* This is nonzero if the current function uses pic_offset_table_rtx. */ | |
130 | +extern int current_function_uses_pic_offset_table; | |
131 | + | |
132 | +/* The line number of the beginning of the current function. | |
133 | + sdbout.c needs this so that it can output relative linenumbers. */ | |
134 | + | |
135 | +#ifdef SDB_DEBUGGING_INFO /* Avoid undef sym in certain broken linkers. */ | |
136 | +extern int sdb_begin_function_line; | |
137 | +#endif | |
138 | + | |
139 | +/* File in which assembler code is being written. */ | |
140 | + | |
141 | +#ifdef BUFSIZ /* The hope is that any kind of stdio.h must define BUFSIZ. */ | |
142 | +extern FILE *asm_out_file; | |
143 | +#endif |