xref: /llvm-project/clang/test/Index/annotate-comments-preprocessor.c (revision 923074016b351405fd86dffdb66bed2646b4ba1f)
1*92307401SDmitri Gribenko // RUN: %clang_cc1 -fsyntax-only -I%S/Inputs %s
2*92307401SDmitri Gribenko 
3*92307401SDmitri Gribenko // As long as none of this crashes, we don't care about comments in
4*92307401SDmitri Gribenko // preprocessor directives.
5*92307401SDmitri Gribenko 
6*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" /* Aaa. */ /* Bbb. */
7*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" /* Aaa. */
8*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" /** Aaa. */
9*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" /**< Aaa. */
10*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" // Aaa.
11*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" /// Aaa.
12*92307401SDmitri Gribenko #include "annotate-comments-preprocessor.h" ///< Aaa.
13*92307401SDmitri Gribenko 
14*92307401SDmitri Gribenko #define A0 0
15*92307401SDmitri Gribenko #define A1 1 /* Aaa. */
16*92307401SDmitri Gribenko #define A2 1 /** Aaa. */
17*92307401SDmitri Gribenko #define A3 1 /**< Aaa. */
18*92307401SDmitri Gribenko #define A4 1 // Aaa.
19*92307401SDmitri Gribenko #define A5 1 /// Aaa.
20*92307401SDmitri Gribenko #define A6 1 ///< Aaa.
21*92307401SDmitri Gribenko 
22*92307401SDmitri Gribenko int A[] = { A0, A1, A2, A3, A4, A5, A6 };
23*92307401SDmitri Gribenko 
24*92307401SDmitri Gribenko #if A0 /** Aaa. */
25*92307401SDmitri Gribenko int f(int a1[A1], int a2[A2], int a3[A3], int a4[A4], int a5[A5], int a6[A6]);
26*92307401SDmitri Gribenko #endif /** Aaa. */
27*92307401SDmitri Gribenko 
28*92307401SDmitri Gribenko #if A1 /** Aaa. */
29*92307401SDmitri Gribenko int g(int a1[A1], int a2[A2], int a3[A3], int a4[A4], int a5[A5], int a6[A6]);
30*92307401SDmitri Gribenko #endif /* Aaa. */
31*92307401SDmitri Gribenko 
32*92307401SDmitri Gribenko #pragma once /** Aaa. */
33*92307401SDmitri Gribenko 
34*92307401SDmitri Gribenko #define FOO      \
35*92307401SDmitri Gribenko   do {           \
36*92307401SDmitri Gribenko     /* Aaa. */   \
37*92307401SDmitri Gribenko     /** Aaa. */  \
38*92307401SDmitri Gribenko     /**< Aaa. */ \
39*92307401SDmitri Gribenko     ;            \
40*92307401SDmitri Gribenko   } while(0)
41*92307401SDmitri Gribenko 
h(void)42*92307401SDmitri Gribenko void h(void) {
43*92307401SDmitri Gribenko   FOO;
44*92307401SDmitri Gribenko }
45*92307401SDmitri Gribenko 
46