1*67e74705SXin Li// RUN: %clang_cc1 -fblocks -rewrite-objc -fms-extensions %s -o %t-rw.cpp 2*67e74705SXin Li// RUN: %clang_cc1 -Werror -fsyntax-only -Wno-address-of-temporary -Wno-c++11-narrowing -std=c++11 -D"Class=void*" -D"id=void*" -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp 3*67e74705SXin Li// rdar://11351299 4*67e74705SXin Li 5*67e74705SXin Listruct Q { 6*67e74705SXin Li int x; 7*67e74705SXin Li}; 8*67e74705SXin Li 9*67e74705SXin Li@interface I 10*67e74705SXin Li@end 11*67e74705SXin Li 12*67e74705SXin Li@interface I() { 13*67e74705SXin Li 14*67e74705SXin Li struct { 15*67e74705SXin Li int x; 16*67e74705SXin Li } unnamed; 17*67e74705SXin Li 18*67e74705SXin Li struct S { 19*67e74705SXin Li int x; 20*67e74705SXin Li } foo; 21*67e74705SXin Li 22*67e74705SXin Li double dd; 23*67e74705SXin Li 24*67e74705SXin Li struct S foo1; 25*67e74705SXin Li} 26*67e74705SXin Li@end 27*67e74705SXin Li 28*67e74705SXin Li@implementation I 29*67e74705SXin Li{ 30*67e74705SXin Li struct P { 31*67e74705SXin Li int x; 32*67e74705SXin Li } bar; 33*67e74705SXin Li 34*67e74705SXin Li double ee; 35*67e74705SXin Li 36*67e74705SXin Li struct Q bar1; 37*67e74705SXin Li 38*67e74705SXin Li struct { 39*67e74705SXin Li int x; 40*67e74705SXin Li } noname; 41*67e74705SXin Li} 42*67e74705SXin Li 43*67e74705SXin Li- (void) Meth { 44*67e74705SXin Li foo.x = 1; 45*67e74705SXin Li bar.x = 2; 46*67e74705SXin Li dd = 1.23; 47*67e74705SXin Li ee = 0.0; 48*67e74705SXin Li foo1.x = 3; 49*67e74705SXin Li bar1.x = 4; 50*67e74705SXin Li noname.x = 3; 51*67e74705SXin Li unnamed.x = 10; 52*67e74705SXin Li} 53*67e74705SXin Li@end 54