Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- flow.c | 2 +- validation/crash-rewrite-branch.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 validation/crash-rewrite-branch.c diff --git a/flow.c b/flow.c index 23fa7c21b..6cac21b24 100644 --- a/flow.c +++ b/flow.c @@ -30,7 +30,7 @@ static int rewrite_branch(struct basic_block *bb, struct basic_block *old, struct basic_block *new) { - if (*ptr != old || new == old) + if (*ptr != old || new == old || !bb->ep) return 0; /* We might find new if-conversions or non-dominating CSEs */ diff --git a/validation/crash-rewrite-branch.c b/validation/crash-rewrite-branch.c new file mode 100644 index 000000000..eb310df1c --- /dev/null +++ b/validation/crash-rewrite-branch.c @@ -0,0 +1,24 @@ +void a(int c, int e) +{ + for(; b; c ; + + if (()) { + unsigned short d = e; + if (()) + while () + ; + &d; + } + + if (()) { + int f = &f; + } +} + +/* + * check-name: crash rewrite_branch + * check-command: test-linearize $file + * + * check-error-ignore + * check-output-ignore + */ -- 2.13.2 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html