// elementary tests with an unnamed region
#define A() 1
#region
// test, whether global macros are (in)visible here
//#if defined(A)
//#error "Macro 'A' shouldn't be visible here!"
//#endif
#define B() 2
A() = A()
2 = B()
#endregion
// test, whether macros, defined inside a scope are (in)visible here
#if defined(B)
#error "Macro 'B' shouldn't be visible here!"
#endif
1 = A()
B() = B()
// the unnamed region is extended here
#region
// test, whether global macros are (in)visible here
#if defined(A)
#error "Macro 'A' shouldn't be visible here!"
#endif
#define C() 3
A() = A()
2 = B()
3 = C()
#endregion
// test, whether macros, defined inside a scope are (in)visible here
#if defined(B)
#error "Macro 'B' shouldn't be visible here!"
#endif
1 = A()
B() = B()
C() = C()