aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
blob: a4c3cbc1e12f4e02246c4c642849c5bf630560d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// RUN: clang-reorder-fields -record-name ::bar::Foo -fields-order z,y,x %s -- | FileCheck %s

namespace bar {

#define INT_DECL(NAME) int NAME // CHECK:      {{^#define INT_DECL\(NAME\) int NAME}}
#define MACRO_DECL int x;       // CHECK-NEXT: {{^#define MACRO_DECL int x;}}

struct Foo {
  MACRO_DECL   // CHECK:      {{^ INT_DECL\(z\);}}
  int y;       // CHECK-NEXT: {{^ int y;}}
  INT_DECL(z); // CHECK-NEXT: {{^ MACRO_DECL}}
};

#define FOO 0 // CHECK:      {{^#define FOO 0}}
#define BAR 1 // CHECK-NEXT: {{^#define BAR 1}}
#define BAZ 2 // CHECK-NEXT: {{^#define BAZ 2}}

struct Foo foo = {
  FOO, // CHECK:      {{^ BAZ,}}
  BAR, // CHECK-NEXT: {{^ BAR,}}
  BAZ, // CHECK-NEXT: {{^ FOO,}}
};

} // end namespace bar