1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm %s -o /dev/null 2*67e74705SXin Li 3*67e74705SXin Li 4*67e74705SXin Li struct DWstruct { 5*67e74705SXin Li char high, low; 6*67e74705SXin Li }; 7*67e74705SXin Li 8*67e74705SXin Li typedef union { 9*67e74705SXin Li struct DWstruct s; 10*67e74705SXin Li short ll; 11*67e74705SXin Li } DWunion; 12*67e74705SXin Li __udivmodhi4(char n1,char bm)13*67e74705SXin Lishort __udivmodhi4 (char n1, char bm) { 14*67e74705SXin Li DWunion rr; 15*67e74705SXin Li 16*67e74705SXin Li if (bm == 0) 17*67e74705SXin Li { 18*67e74705SXin Li rr.s.high = n1; 19*67e74705SXin Li } 20*67e74705SXin Li else 21*67e74705SXin Li { 22*67e74705SXin Li rr.s.high = bm; 23*67e74705SXin Li } 24*67e74705SXin Li 25*67e74705SXin Li return rr.ll; 26*67e74705SXin Li } 27