10e523cbaSAnders Carlsson// RUN: %clang_cc1 -fsyntax-only -verify %s 2*c6e68daaSAndy Gibbs// expected-no-diagnostics 30e523cbaSAnders Carlsson 40e523cbaSAnders Carlsson#define FOR_EACH_KEYWORD(macro) \ 50e523cbaSAnders Carlssonmacro(asm) \ 60e523cbaSAnders Carlssonmacro(bool) \ 70e523cbaSAnders Carlssonmacro(catch) \ 80e523cbaSAnders Carlssonmacro(class) \ 90e523cbaSAnders Carlssonmacro(const_cast) \ 100e523cbaSAnders Carlssonmacro(delete) \ 110e523cbaSAnders Carlssonmacro(dynamic_cast) \ 120e523cbaSAnders Carlssonmacro(explicit) \ 130e523cbaSAnders Carlssonmacro(export) \ 140e523cbaSAnders Carlssonmacro(false) \ 150e523cbaSAnders Carlssonmacro(friend) \ 160e523cbaSAnders Carlssonmacro(mutable) \ 170e523cbaSAnders Carlssonmacro(namespace) \ 180e523cbaSAnders Carlssonmacro(new) \ 190e523cbaSAnders Carlssonmacro(operator) \ 200e523cbaSAnders Carlssonmacro(private) \ 210e523cbaSAnders Carlssonmacro(protected) \ 220e523cbaSAnders Carlssonmacro(public) \ 230e523cbaSAnders Carlssonmacro(reinterpret_cast) \ 240e523cbaSAnders Carlssonmacro(static_cast) \ 250e523cbaSAnders Carlssonmacro(template) \ 260e523cbaSAnders Carlssonmacro(this) \ 270e523cbaSAnders Carlssonmacro(throw) \ 280e523cbaSAnders Carlssonmacro(true) \ 290e523cbaSAnders Carlssonmacro(try) \ 300e523cbaSAnders Carlssonmacro(typename) \ 310e523cbaSAnders Carlssonmacro(typeid) \ 320e523cbaSAnders Carlssonmacro(using) \ 330e523cbaSAnders Carlssonmacro(virtual) \ 340e523cbaSAnders Carlssonmacro(wchar_t) 350e523cbaSAnders Carlsson 360e523cbaSAnders Carlsson 370e523cbaSAnders Carlsson#define DECLARE_METHOD(name) - (void)name; 38fe15a78fSAnders Carlsson#define DECLARE_PROPERTY_WITH_GETTER(name) @property (getter=name) int prop_##name; 390e523cbaSAnders Carlsson@interface A 40fe15a78fSAnders Carlsson//FOR_EACH_KEYWORD(DECLARE_METHOD) 41fe15a78fSAnders CarlssonFOR_EACH_KEYWORD(DECLARE_PROPERTY_WITH_GETTER) 420e523cbaSAnders Carlsson@end 430e523cbaSAnders Carlsson 44