xref: /aosp_15_r20/external/clang/test/Lexer/pragma-region.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li /* Test pragma region directive from
2*67e74705SXin Li    http://msdn.microsoft.com/en-us/library/b6xkz944(v=vs.80).aspx */
3*67e74705SXin Li 
4*67e74705SXin Li // Editor-only pragma, just skipped by compiler.
5*67e74705SXin Li // Syntax:
6*67e74705SXin Li // #pragma region optional name
7*67e74705SXin Li // #pragma endregion optional comment
8*67e74705SXin Li //
9*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify -Wall -fms-extensions %s
10*67e74705SXin Li 
11*67e74705SXin Li #pragma region
12*67e74705SXin Li /* inner space */
13*67e74705SXin Li #pragma endregion
14*67e74705SXin Li 
15*67e74705SXin Li #pragma region long name
16*67e74705SXin Li /* inner space */
foo(void)17*67e74705SXin Li void foo(void){}
18*67e74705SXin Li #pragma endregion long comment
19*67e74705SXin Li 
20*67e74705SXin Li void inner();
21*67e74705SXin Li 
22*67e74705SXin Li __pragma(region) // no sense, but ignored
23*67e74705SXin Li _Pragma("region")// ditto
24*67e74705SXin Li 
25*67e74705SXin Li #pragma region2 // expected-warning {{unknown pragma ignored}}
26*67e74705SXin Li 
27*67e74705SXin Li #pragma region one
28*67e74705SXin Li #pragma region inner
29*67e74705SXin Li //#pragma endregion inner
30*67e74705SXin Li 
31*67e74705SXin Li #pragma endregion end
32*67e74705SXin Li 
33*67e74705SXin Li // {{unclosed pragma region}} - region mismatches is not detected yet
34