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