OSDN Git Service

PR c++/48935
[pf3gnuchains/gcc-fork.git] / gcc / except.c
index 251a550..9578e2e 100644 (file)
@@ -225,7 +225,7 @@ init_eh (void)
                         integer_type_node);
       DECL_FIELD_CONTEXT (f_cs) = sjlj_fc_type_node;
 
-      tmp = build_index_type (build_int_cst (NULL_TREE, 4 - 1));
+      tmp = build_index_type (size_int (4 - 1));
       tmp = build_array_type (lang_hooks.types.type_for_mode
                                (targetm.unwind_word_mode (), 1),
                              tmp);
@@ -245,17 +245,17 @@ init_eh (void)
 
 #ifdef DONT_USE_BUILTIN_SETJMP
 #ifdef JMP_BUF_SIZE
-      tmp = build_int_cst (NULL_TREE, JMP_BUF_SIZE - 1);
+      tmp = size_int (JMP_BUF_SIZE - 1);
 #else
       /* Should be large enough for most systems, if it is not,
         JMP_BUF_SIZE should be defined with the proper value.  It will
         also tend to be larger than necessary for most systems, a more
         optimal port will define JMP_BUF_SIZE.  */
-      tmp = build_int_cst (NULL_TREE, FIRST_PSEUDO_REGISTER + 2 - 1);
+      tmp = size_int (FIRST_PSEUDO_REGISTER + 2 - 1);
 #endif
 #else
       /* builtin_setjmp takes a pointer to 5 words.  */
-      tmp = build_int_cst (NULL_TREE, 5 * BITS_PER_WORD / POINTER_SIZE - 1);
+      tmp = size_int (5 * BITS_PER_WORD / POINTER_SIZE - 1);
 #endif
       tmp = build_index_type (tmp);
       tmp = build_array_type (ptr_type_node, tmp);
@@ -857,7 +857,7 @@ assign_filter_values (void)
                  for ( ; tp_node; tp_node = TREE_CHAIN (tp_node))
                    {
                      int flt = add_ttypes_entry (ttypes, TREE_VALUE (tp_node));
-                     tree flt_node = build_int_cst (NULL_TREE, flt);
+                     tree flt_node = build_int_cst (integer_type_node, flt);
 
                      c->filter_list
                        = tree_cons (NULL_TREE, flt_node, c->filter_list);
@@ -868,7 +868,7 @@ assign_filter_values (void)
                  /* Get a filter value for the NULL list also since it
                     will need an action record anyway.  */
                  int flt = add_ttypes_entry (ttypes, NULL);
-                 tree flt_node = build_int_cst (NULL_TREE, flt);
+                 tree flt_node = build_int_cst (integer_type_node, flt);
 
                  c->filter_list
                    = tree_cons (NULL_TREE, flt_node, NULL);
@@ -1285,12 +1285,11 @@ sjlj_emit_dispatch_table (rtx dispatch_label, int num_dispatch)
 
        if (num_dispatch > 1)
          {
-           tree t_label, case_elt;
+           tree t_label, case_elt, t;
 
            t_label = create_artificial_label (UNKNOWN_LOCATION);
-           case_elt = build3 (CASE_LABEL_EXPR, void_type_node,
-                              build_int_cst (NULL, disp_index),
-                              NULL, t_label);
+           t = build_int_cst (integer_type_node, disp_index);
+           case_elt = build_case_label (t, NULL, t_label);
            gimple_switch_set_label (switch_stmt, disp_index, case_elt);
 
            label = label_rtx (t_label);
@@ -1879,11 +1878,11 @@ set_nothrow_function_flags (void)
          }
       }
   if (crtl->nothrow
-      && (cgraph_function_body_availability (cgraph_node
+      && (cgraph_function_body_availability (cgraph_get_node
                                             (current_function_decl))
           >= AVAIL_AVAILABLE))
     {
-      struct cgraph_node *node = cgraph_node (current_function_decl);
+      struct cgraph_node *node = cgraph_get_node (current_function_decl);
       struct cgraph_edge *e;
       for (e = node->callers; e; e = e->next_caller)
         e->can_throw_external = false;