1// RUN: %clang_cc1 -E -dM %s -o - | FileCheck %s -strict-whitespace 2 3// Space at end even without expansion tokens 4// CHECK: #define A(x) 5#define A(x) 6 7// Space before expansion list. 8// CHECK: #define B(x,y) x y 9#define B(x,y)x y 10 11// No space in argument list. 12// CHECK: #define C(x,y) x y 13#define C(x, y) x y 14 15// No paste avoidance. 16// CHECK: #define D() .. 17#define D() .. 18 19// Simple test. 20// CHECK: #define E . 21// CHECK: #define F X()Y 22#define E . 23#define F X()Y 24 25// gcc prints macros at end of translation unit, so last one wins. 26// CHECK: #define G 2 27#define G 1 28#undef G 29#define G 2 30 31// Variadic macros of various sorts. PR5699 32 33// CHECK: H(x,...) __VA_ARGS__ 34#define H(x, ...) __VA_ARGS__ 35// CHECK: I(...) __VA_ARGS__ 36#define I(...) __VA_ARGS__ 37// CHECK: J(x...) __VA_ARGS__ 38#define J(x ...) __VA_ARGS__ 39