This is an example of strengthening rtx. For example, we
now have strong enough types provided by the existing scaffolding to
turn "insn" and "insns" in this:
for (insn = insns; insn; insn = NEXT_INSN (insn))
from plain rtx into rtx_insn *.
gcc/
* asan.c (asan_clear_shadow): Strengthen locals "insn", "insns"
and "jump" from rtx to rtx_insn *. Strengthen local "top_label"
from rtx to rtx_code_label *.
---
gcc/asan.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gcc/asan.c b/gcc/asan.c
index 11627c7..82e601d 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -905,7 +905,9 @@ asan_shadow_cst (unsigned char shadow_bytes[4])
static void
asan_clear_shadow (rtx shadow_mem, HOST_WIDE_INT len)
{
- rtx insn, insns, top_label, end, addr, tmp, jump;
+ rtx_insn *insn, *insns, *jump;
+ rtx_code_label *top_label;
+ rtx end, addr, tmp;
start_sequence ();
clear_storage (shadow_mem, GEN_INT (len), BLOCK_OP_NORMAL);
--
1.8.5.3