| // RUN: %clang_cc1 %s -fobjc-arc -S -emit-llvm -o /dev/null | |
| // rdar://problem/28488427 - Don't crash if the argument type and the parameter | |
| // type in an indirect copy restore expression have different qualification. | |
| @protocol P1 | |
| @end | |
| typedef int handler(id<P1> *const p); | |
| int main() { | |
| id<P1> i1 = 0; | |
| handler *func = 0; | |
| return func(&i1); | |
| } |