181ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian// RUN: %clang_cc1 -pedantic -fixit -x c %s 281ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian// rdar://9091893 381ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian 481ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian#define va_arg(ap, type) __builtin_va_arg(ap, type) 581ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahaniantypedef __builtin_va_list va_list; 681ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian 781ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanianvoid myFunc() { 881ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian va_list values; 981ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian 1081ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian int value; 1181ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian 1281ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian while (value = va_arg(values, int)) { // expected-warning {{using the result of an assignment as a condition without parentheses}} \ 136027461b6c4d1567a8d7533ad97ccf81bd2b9500Fariborz Jahanian // expected-note {{use '==' to turn this assignment into an equality comparison}} \ 146027461b6c4d1567a8d7533ad97ccf81bd2b9500Fariborz Jahanian // expected-note {{place parentheses around the assignment to silence this warning}} 1581ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian } 1681ab3cfcf2f312e82c51e58a1fce8e85e9fe59c3Fariborz Jahanian} 17