// RUN: %clang_cc1 %s typedef char one_byte; struct two_bytes { char data[2]; }; template one_byte __is_class_check(int T::*); template two_bytes __is_class_check(...); template struct is_class { static const bool value = sizeof(__is_class_check(0)) == 1; }; struct X { }; int array0[is_class::value? 1 : -1]; int array1[is_class::value? -1 : 1]; int array2[is_class::value? -1 : 1];