OSDN Git Service

* fixinc/inclhack.def (alpha_pthread_gcc): New fix.
[pf3gnuchains/gcc-fork.git] / gcc / c-semantics.c
index 9ecfc96..a3e1b45 100644 (file)
@@ -102,10 +102,6 @@ add_stmt (tree t)
      statements are full-expressions.  We record that fact here.  */
   STMT_IS_FULL_EXPR_P (last_tree) = stmts_are_full_exprs_p ();
 
-  /* Keep track of the number of statements in this function.  */
-  if (current_function_decl)
-    ++DECL_NUM_STMTS (current_function_decl);
-
   return t;
 }
 
@@ -649,6 +645,7 @@ genrtl_scope_stmt (tree t)
          if (TREE_CODE (fn) == FUNCTION_DECL
              && DECL_CONTEXT (fn) == current_function_decl
              && DECL_SAVED_INSNS (fn)
+             && DECL_SAVED_INSNS (fn)->saved_for_inline
              && !TREE_ASM_WRITTEN (fn)
              && TREE_ADDRESSABLE (fn))
            {
@@ -672,7 +669,7 @@ genrtl_switch_stmt (tree t)
   if (cond == error_mark_node)
     /* The code is in error, but we don't want expand_end_case to
        crash.  */
-    cond = boolean_false_node;
+    cond = truthvalue_false_node;
 
   emit_line_note (input_location);
   expand_start_case (1, cond, TREE_TYPE (cond), "switch statement");
@@ -752,7 +749,7 @@ genrtl_asm_stmt (tree cv_qualifier, tree string, tree output_operands,
   else
     c_expand_asm_operands (string, output_operands, input_operands,
                           clobbers, cv_qualifier != NULL_TREE,
-                          input_filename, input_line);
+                          input_location);
 }
 
 /* Generate the RTL for a CLEANUP_STMT.  */
@@ -761,7 +758,8 @@ void
 genrtl_cleanup_stmt (tree t)
 {
   tree decl = CLEANUP_DECL (t);
-  if (!decl || (DECL_SIZE (decl) && TREE_TYPE (decl) != error_mark_node))
+  if (!decl || !DECL_P (decl)
+      || (DECL_SIZE (decl) && TREE_TYPE (decl) != error_mark_node))
     expand_decl_cleanup_eh (decl, CLEANUP_EXPR (t), CLEANUP_EH_ONLY (t));
 }