crash.mm revision e7be1090e8cc8bfcda4f73fcad35d29e9e58b1c4
1e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org// RUN: %clang_cc1 -fsyntax-only %s -verify 2e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 3e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org// <rdar://problem/11286701> 4e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.orgnamespace std { 5e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org template<typename T, typename U> class pair; 6e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org} 7e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 8e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@interface NSObject 9e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@end 10e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 11e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@interface Test : NSObject 12e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@end 13e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 14e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@implementation Test 15e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 16e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.orgstruct EvilStruct { 17e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org} // note the missing semicolon 18e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 19e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org typedef std::pair<int, int> IntegerPair; // expected-error{{typedef declarator cannot be qualified}} \ 20e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org// expected-error{{typedef name must be an identifier}} \ 21e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org// expected-error{{expected ';' after top level declarator}} 22e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org 23e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org@end 24e5c3b69d269a0509fe309cba296dd71414f5a715hpayer@chromium.org