summaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorBernd Schmidt <crux@pool.informatik.rwth-aachen.de>1999-09-04 02:16:58 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-09-04 02:16:58 +0000
commit8c5666b4c171c4f9989f1974272c1e393423d2f6 (patch)
tree783bd7815837b76ff7e04a13fc3b23ec80d17008 /gcc/function.h
parent0c174a684cad337fd76cbb177b852983d247a5bd (diff)
downloadgcc-8c5666b4c171c4f9989f1974272c1e393423d2f6.tar.gz
function.h (struct function): Add new element LANGUAGE.
* function.h (struct function): Add new element LANGUAGE. (save_lang_status): Declare new variable. (restore_lang_status): Likewise. * function.c (save_lang_status): Define. (restore_lang_status): Likewise. (push_function_context_to): Call language-specific save function. (pop_function_context_from): Call language-specific restore function. From-SVN: r29095
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 86d2c3cf9f0..9a9156ae2a8 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -440,6 +440,9 @@ struct function
/* tm.h can use this to store whatever it likes. */
struct machine_function *machine;
+ /* Language-specific code can use this to store whatever it likes. */
+ struct language_function *language;
+
/* For reorg. */
/* If some insns can be deferred to the delay slots of the epilogue, the
@@ -541,6 +544,10 @@ extern HOST_WIDE_INT get_func_frame_size PROTO((struct function *));
extern void (*save_machine_status) PROTO((struct function *));
extern void (*restore_machine_status) PROTO((struct function *));
+/* Likewise, but for language-specific data. */
+extern void (*save_lang_status) PROTO((struct function *));
+extern void (*restore_lang_status) PROTO((struct function *));
+
/* Save and restore status information for a nested function. */
extern void save_tree_status PROTO((struct function *, tree));
extern void restore_tree_status PROTO((struct function *, tree));