| // PERMUTE_ARGS: -O | |
| // https://issues.dlang.org/show_bug.cgi?id=17940 | |
| struct Array | |
| { | |
| long length; | |
| long ptr; | |
| } | |
| struct Struct | |
| { | |
| bool b = true; | |
| } | |
| void fun1(int) | |
| { | |
| } | |
| void fun2(Array arr, int, int) | |
| { | |
| assert(!arr.length); | |
| } | |
| void fn(Struct* str) | |
| { | |
| Array arr; | |
| if (!str) | |
| { | |
| return; | |
| } | |
| if (str) | |
| { | |
| fun1(str.b); | |
| } | |
| if (str.b) | |
| { | |
| fun2(arr, str.b, 0); | |
| } | |
| } | |
| void main() | |
| { | |
| Struct s; | |
| fn(&s); | |
| } |