1ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// RUN: %clang_cc1 -triple thumbv7--windows-msvc -std=c++11 -verify -fsyntax-only %s 2ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// expected-no-diagnostics 3ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 4ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#include <stdarg.h> 5ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 6ef8225444452a1486bd721f3285301fe84643b00Stephen Hinestemplate <typename lhs_, typename rhs_> 7ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesstruct is_same { enum { value = 0 }; }; 8ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 9ef8225444452a1486bd721f3285301fe84643b00Stephen Hinestemplate <typename type_> 10ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesstruct is_same<type_, type_> { enum { value = 1 }; }; 11ef8225444452a1486bd721f3285301fe84643b00Stephen Hines 12ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesvoid check() { 13ef8225444452a1486bd721f3285301fe84643b00Stephen Hines va_list va; 14ef8225444452a1486bd721f3285301fe84643b00Stephen Hines char *cp; 15ef8225444452a1486bd721f3285301fe84643b00Stephen Hines static_assert(is_same<decltype(va), decltype(cp)>::value, 16ef8225444452a1486bd721f3285301fe84643b00Stephen Hines "type mismatch for va_list"); 17ef8225444452a1486bd721f3285301fe84643b00Stephen Hines} 18