summaryrefslogtreecommitdiff
path: root/gcc/output.h
diff options
context:
space:
mode:
authorcrux <crux@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-09 14:00:21 +0000
committercrux <crux@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-09 14:00:21 +0000
commit0a893c29f8f2c3ad8542047218b2c1d5a9337046 (patch)
tree0c9ea6c13240638f450e4b7c92af4127356208c0 /gcc/output.h
parent2c440a1334f71402905241113ec103d0e92d165e (diff)
downloadgcc-0a893c29f8f2c3ad8542047218b2c1d5a9337046.tar.gz
Include function.h in most files. Remove most of the global variables
duplicated in function.h. Add accessor macros for them which access current_function. Delete INLINE_HEADER rtx and related code, replace with code using struct function to store inlining related data. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28626 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/output.h')
-rw-r--r--gcc/output.h133
1 files changed, 12 insertions, 121 deletions
diff --git a/gcc/output.h b/gcc/output.h
index 85310850737..1e88be55a84 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -341,48 +341,23 @@ extern int which_alternative;
extern rtx final_sequence;
#endif
-/* Number of bytes of args popped by function being compiled on its return.
- Zero if no bytes are to be popped.
- May affect compilation of return insn or of function epilogue. */
-
-extern int current_function_pops_args;
-
-/* Nonzero if function being compiled needs to be given an address
- where the value should be stored. */
-
-extern int current_function_returns_struct;
-
-/* Nonzero if function being compiled needs to
- return the address of where it has put a structure value. */
-
-extern int current_function_returns_pcc_struct;
-
-/* Nonzero if function being compiled needs to be passed a static chain. */
-
-extern int current_function_needs_context;
-
-/* Nonzero if function being compiled can call setjmp. */
-
-extern int current_function_calls_setjmp;
-
-/* Nonzero if function being compiled can call longjmp. */
-
-extern int current_function_calls_longjmp;
-
-/* Nonzero if function being compiled can call alloca,
- either as a subroutine or builtin. */
-
-extern int current_function_calls_alloca;
+/* Nonzero means generate position-independent code.
+ This is not fully implemented yet. */
-/* Nonzero if function being compiled receives nonlocal gotos
- from nested functions. */
+extern int flag_pic;
-extern int current_function_has_nonlocal_label;
+/* The line number of the beginning of the current function.
+ sdbout.c needs this so that it can output relative linenumbers. */
-/* Nonzero if function being compiled contains nested functions. */
+#ifdef SDB_DEBUGGING_INFO /* Avoid undef sym in certain broken linkers. */
+extern int sdb_begin_function_line;
+#endif
-extern int current_function_contains_functions;
+/* File in which assembler code is being written. */
+#ifdef BUFSIZ
+extern FILE *asm_out_file;
+#endif
/* Nonzero if function being compiled doesn't contain any calls
(ignoring the prologue and epilogue). This is set prior to
local register allocation and is valid for the remaining
@@ -402,90 +377,6 @@ extern int current_function_sp_is_unchanging;
extern int current_function_uses_only_leaf_regs;
-/* Nonzero if the function being compiled issues a computed jump. */
-
-extern int current_function_has_computed_jump;
-
-/* Nonzero if the current function returns a pointer type */
-
-extern int current_function_returns_pointer;
-
-/* If function's args have a fixed size, this is that size, in bytes.
- Otherwise, it is -1.
- May affect compilation of return insn or of function epilogue. */
-
-extern int current_function_args_size;
-
-/* # bytes the prologue should push and pretend that the caller pushed them.
- The prologue must do this, but only if parms can be passed in registers. */
-
-extern int current_function_pretend_args_size;
-
-/* # of bytes of outgoing arguments required to be pushed by the prologue.
- If this is non-zero, it means that ACCUMULATE_OUTGOING_ARGS was defined
- and no stack adjusts will be done on function calls. */
-
-extern int current_function_outgoing_args_size;
-
-/* Nonzero if current function uses varargs.h or equivalent.
- Zero for functions that use stdarg.h. */
-
-extern int current_function_varargs;
-
-/* Nonzero if current function uses stdarg.h or equivalent.
- Zero for functions that use varargs.h. */
-
-extern int current_function_stdarg;
-
-/* Quantities of various kinds of registers
- used for the current function's args. */
-
-extern CUMULATIVE_ARGS current_function_args_info;
-
-/* Name of function now being compiled. */
-
-extern char *current_function_name;
-
-#ifdef RTX_CODE
-/* If non-zero, an RTL expression for that location at which the current
- function returns its result. Usually equal to
- DECL_RTL (DECL_RESULT (current_function_decl)). */
-
-extern rtx current_function_return_rtx;
-
-/* If some insns can be deferred to the delay slots of the epilogue, the
- delay list for them is recorded here. */
-
-extern rtx current_function_epilogue_delay_list;
-#endif
-
-/* Nonzero means generate position-independent code.
- This is not fully implemented yet. */
-
-extern int flag_pic;
-
-/* This is nonzero if the current function uses pic_offset_table_rtx. */
-extern int current_function_uses_pic_offset_table;
-
-/* This is nonzero if the current function uses the constant pool. */
-extern int current_function_uses_const_pool;
-
-/* Language-specific reason why the current function cannot be made inline. */
-extern char *current_function_cannot_inline;
-
-/* The line number of the beginning of the current function.
- sdbout.c needs this so that it can output relative linenumbers. */
-
-#ifdef SDB_DEBUGGING_INFO /* Avoid undef sym in certain broken linkers. */
-extern int sdb_begin_function_line;
-#endif
-
-/* File in which assembler code is being written. */
-
-#ifdef BUFSIZ
-extern FILE *asm_out_file;
-#endif
-
/* Default file in which to dump debug output. */
#ifdef BUFSIZ