1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -std=c++03 -verify %s 2*67e74705SXin Li 3*67e74705SXin Li class string; f(const string & s,...)4*67e74705SXin Livoid f(const string& s, ...) { // expected-note {{parameter of type 'const string &' is declared here}} 5*67e74705SXin Li __builtin_va_list ap; 6*67e74705SXin Li __builtin_va_start(ap, s); // expected-warning {{passing an object of reference type to 'va_start' has undefined behavior}} 7*67e74705SXin Li } 8*67e74705SXin Li g(register int i,...)9*67e74705SXin Livoid g(register int i, ...) { 10*67e74705SXin Li __builtin_va_list ap; 11*67e74705SXin Li __builtin_va_start(ap, i); // okay 12*67e74705SXin Li } 13