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