OSDN Git Service

* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
[pf3gnuchains/gcc-fork.git] / gcc / function.h
index 8217200..4f6181a 100644 (file)
@@ -166,6 +166,9 @@ struct function GTY(())
   struct emit_status *emit;
   struct varasm_status *varasm;
 
+  /* The control flow graph for this function.  */
+  struct control_flow_graph *cfg;
+
   /* For tree-optimize.c.  */
 
   /* Saved tree and arguments during tree optimization.  Used later for
@@ -349,6 +352,20 @@ struct function GTY(())
   /* The variables unexpanded so far.  */
   tree unexpanded_var_list;
 
+  /* Assembly labels for the hot and cold text sections, to
+     be used by debugger functions for determining the size of text
+     sections.  */
+
+  const char * hot_section_label;
+  const char * cold_section_label;
+  const char * hot_section_end_label;
+  const char * cold_section_end_label;
+
+  /* String to be used for name of cold text sections, via
+     targetm.asm_out.named_section.  */
+
+  const char *unlikely_text_section_name;
+
   /* Collected bit flags.  */
 
   /* Nonzero if function being compiled needs to be given an address
@@ -423,8 +440,22 @@ struct function GTY(())
 
   /* Nonzero if code to initialize arg_pointer_save_area has been emitted.  */
   unsigned int arg_pointer_save_area_init : 1;
+
+  /* Number of units of general registers that need saving in stdarg
+     function.  What unit is depends on the backend, either it is number
+     of bytes, or it can be number of registers.  */
+  unsigned int va_list_gpr_size : 8;
+
+  /* Number of units of floating point registers that need saving in stdarg
+     function.  */
+  unsigned int va_list_fpr_size : 8;
 };
 
+/* If va_list_[gf]pr_size is set to this, it means we don't know how
+   many units need to be saved.  */
+#define VA_LIST_MAX_GPR_SIZE   255
+#define VA_LIST_MAX_FPR_SIZE   255
+
 /* The function currently being compiled.  */
 extern GTY(()) struct function *cfun;
 
@@ -473,7 +504,6 @@ extern int trampolines_created;
 #define used_temp_slots (cfun->x_used_temp_slots)
 #define avail_temp_slots (cfun->x_avail_temp_slots)
 #define temp_slot_level (cfun->x_temp_slot_level)
-#define nonlocal_labels (cfun->x_nonlocal_labels)
 #define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels)
 
 /* Given a function decl for a containing function,