asan_emit_stack_protection returns an insn
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 19 Aug 2014 19:48:08 +0000 (19:48 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 19 Aug 2014 19:48:08 +0000 (19:48 +0000)
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

* asan.h (asan_emit_stack_protection): Strengthen return type from
rtx to rtx_insn *.
* asan.c (asan_emit_stack_protection): Likewise.  Add local
"insns" to hold the return value.

From-SVN: r214189

gcc/ChangeLog
gcc/asan.c
gcc/asan.h

index c6b9287..027c4ad 100644 (file)
@@ -1,5 +1,12 @@
 2014-08-19  David Malcolm  <dmalcolm@redhat.com>
 
+       * asan.h (asan_emit_stack_protection): Strengthen return type from
+       rtx to rtx_insn *.
+       * asan.c (asan_emit_stack_protection): Likewise.  Add local
+       "insns" to hold the return value.
+
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
        * basic-block.h (bb_note): Strengthen return type from rtx to
        rtx_note *.
        * sched-int.h (bb_note): Likewise.
index 15c0737..e073b01 100644 (file)
@@ -974,11 +974,12 @@ asan_function_start (void)
    assigned to PBASE, when not doing use after return protection, or
    corresponding address based on __asan_stack_malloc* return value.  */
 
-rtx
+rtx_insn *
 asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb,
                            HOST_WIDE_INT *offsets, tree *decls, int length)
 {
   rtx shadow_base, shadow_mem, ret, mem, orig_base, lab;
+  rtx_insn *insns;
   char buf[30];
   unsigned char shadow_bytes[4];
   HOST_WIDE_INT base_offset = offsets[length - 1];
@@ -1248,9 +1249,9 @@ asan_emit_stack_protection (rtx base, rtx pbase, unsigned int alignb,
   if (lab)
     emit_label (lab);
 
-  ret = get_insns ();
+  insns = get_insns ();
   end_sequence ();
-  return ret;
+  return insns;
 }
 
 /* Return true if DECL, a global var, might be overridden and needs
index 08d5063..198433f 100644 (file)
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
 
 extern void asan_function_start (void);
 extern void asan_finish_file (void);
-extern rtx asan_emit_stack_protection (rtx, rtx, unsigned int, HOST_WIDE_INT *,
-                                      tree *, int);
+extern rtx_insn *asan_emit_stack_protection (rtx, rtx, unsigned int,
+                                            HOST_WIDE_INT *, tree *, int);
 extern bool asan_protect_global (tree);
 extern void initialize_sanitizer_builtins (void);
 extern tree asan_dynamic_init_call (bool);