OSDN Git Service

* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
[pf3gnuchains/gcc-fork.git] / gcc / tree-tailcall.c
index 4d2422a..ec6d2fd 100644 (file)
@@ -458,8 +458,10 @@ find_tail_calls (basic_block bb, struct tailcall **ret)
      to local variables.  */
   FOR_EACH_REFERENCED_VAR (var, rvi)
     {
-      if (!is_global_var (var)
-         && ref_maybe_used_by_stmt_p (call, var))
+      if (TREE_CODE (var) != PARM_DECL
+         && auto_var_in_fn_p (var, cfun->decl)
+         && (ref_maybe_used_by_stmt_p (call, var)
+             || call_may_clobber_ref_p (call, var)))
        return;
     }