Oh GACK! src-clean doesn't quite work that easily since cleandist rebuilds the
[unix-history] / gnu / usr.bin / gcc1 / cc1 / output.h
CommitLineData
15637ed4
RG
1/* Declarations for insn-output.c. These functions are defined in recog.c.
2 Copyright (C) 1987 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING. If not, write to
18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20/* Operand-predicate functions. */
21int general_operand ();
22int push_operand ();
23int memory_operand ();
24int indirect_operand ();
25int immediate_operand ();
26int register_operand ();
27int address_operand ();
28int nonmemory_operand ();
29int nonimmediate_operand ();
30
31int offsettable_address_p ();
32rtx adj_offsettable_operand ();
33
34/* Output a string of assembler code.
35 Defined in final.c. */
36void output_asm_insn ();
37
38/* When outputting assembler code, indicates which alternative
39 of the constraints was actually satisfied. */
40extern int which_alternative;
41
42/* When outputting delayed branch sequences, this rtx holds the
43 sequence being output. It is null when no delayed branch
44 sequence is being output, so it can be used as a test in the
45 insn output code.
46
47 This variable is defined in final.c. */
48extern rtx final_sequence;
49
50/* Nonzero if function being compiled pops its args on return.
51 May affect compilation of return insn or of function epilogue. */
52
53extern int current_function_pops_args;
54
55/* Nonzero if function being compiled needs to be given an address
56 where the value should be stored. */
57
58extern int current_function_returns_struct;
59
60/* Nonzero if function being compiled needs to
61 return the address of where it has put a structure value. */
62
63extern int current_function_returns_pcc_struct;
64
65/* Nonzero if function being compiled needs to be passed a static chain. */
66
67extern int current_function_needs_context;
68
69/* Nonzero if function being compiled can call setjmp. */
70
71extern int current_function_calls_setjmp;
72
73/* Nonzero if function being compiled can call alloca,
74 either as a subroutine or builtin. */
75
76extern int current_function_calls_alloca;
77
78/* Nonzero if the current function returns a pointer type */
79
80extern int current_function_returns_pointer;
81
82/* If function's args have a fixed size, this is that size, in bytes.
83 Otherwise, it is -1.
84 May affect compilation of return insn or of function epilogue. */
85
86extern int current_function_args_size;
87
88/* # bytes the prologue should push and pretend that the caller pushed them.
89 The prologue must do this, but only if parms can be passed in registers. */
90
91extern int current_function_pretend_args_size;
92
93/* Name of function now being compiled. */
94
95extern char *current_function_name;