// RUN: %clang_cc1 %s -fsyntax-only -verify

#define a(x) enum { x }
a(n =
#undef a
#define a 5
  a);
_Static_assert(n == 5, "");

#define M(A)
M(
#pragma pack(pop) // expected-error {{embedding a #pragma directive within macro arguments is not supported}}
)

// header1.h
void fail(const char *);
#define MUNCH(...) \
 ({ int result = 0; __VA_ARGS__; if (!result) { fail(#__VA_ARGS__); }; result })

static inline int f(int k) {
  return MUNCH( // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-error {{returning 'void'}}
    if (k < 3)
      result = 24;
    else if (k > 4)
      result = k - 4;
}

#include "macro_arg_directive.h" // expected-error {{embedding a #include directive within macro arguments is not supported}}

int g(int k) {
  return f(k) + f(k-1));
}
