1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Li 4*67e74705SXin Li#define FOR_EACH_KEYWORD(macro) \ 5*67e74705SXin Limacro(asm) \ 6*67e74705SXin Limacro(bool) \ 7*67e74705SXin Limacro(catch) \ 8*67e74705SXin Limacro(class) \ 9*67e74705SXin Limacro(const_cast) \ 10*67e74705SXin Limacro(delete) \ 11*67e74705SXin Limacro(dynamic_cast) \ 12*67e74705SXin Limacro(explicit) \ 13*67e74705SXin Limacro(export) \ 14*67e74705SXin Limacro(false) \ 15*67e74705SXin Limacro(friend) \ 16*67e74705SXin Limacro(mutable) \ 17*67e74705SXin Limacro(namespace) \ 18*67e74705SXin Limacro(new) \ 19*67e74705SXin Limacro(operator) \ 20*67e74705SXin Limacro(private) \ 21*67e74705SXin Limacro(protected) \ 22*67e74705SXin Limacro(public) \ 23*67e74705SXin Limacro(reinterpret_cast) \ 24*67e74705SXin Limacro(static_cast) \ 25*67e74705SXin Limacro(template) \ 26*67e74705SXin Limacro(this) \ 27*67e74705SXin Limacro(throw) \ 28*67e74705SXin Limacro(true) \ 29*67e74705SXin Limacro(try) \ 30*67e74705SXin Limacro(typename) \ 31*67e74705SXin Limacro(typeid) \ 32*67e74705SXin Limacro(using) \ 33*67e74705SXin Limacro(virtual) \ 34*67e74705SXin Limacro(wchar_t) 35*67e74705SXin Li 36*67e74705SXin Li 37*67e74705SXin Li#define DECLARE_METHOD(name) - (void)name; 38*67e74705SXin Li#define DECLARE_PROPERTY_WITH_GETTER(name) @property (getter=name) int prop_##name; 39*67e74705SXin Li@interface A 40*67e74705SXin Li//FOR_EACH_KEYWORD(DECLARE_METHOD) 41*67e74705SXin LiFOR_EACH_KEYWORD(DECLARE_PROPERTY_WITH_GETTER) 42*67e74705SXin Li@end 43*67e74705SXin Li 44