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