1// RUN: %clang_cc1 %s -fobjc-arc -S -emit-llvm -o /dev/null
2
3// rdar://problem/28488427 - Don't crash if the argument type and the parameter
4// type in an indirect copy restore expression have different qualification.
5@protocol P1
6@end
7
8typedef int handler(id<P1> *const p);
9
10int main() {
11  id<P1> i1 = 0;
12  handler *func = 0;
13  return func(&i1);
14}
15