llvm/clang/test/Index/annotate-comments-preprocessor.c

// RUN: %clang_cc1 -fsyntax-only -I%S/Inputs %s

// As long as none of this crashes, we don't care about comments in
// preprocessor directives.

#include "annotate-comments-preprocessor.h" /* Aaa. */ /* Bbb. */
#include "annotate-comments-preprocessor.h" /* Aaa. */
#include "annotate-comments-preprocessor.h" /** Aaa. */
#include "annotate-comments-preprocessor.h" /**< Aaa. */
#include "annotate-comments-preprocessor.h" // Aaa.
#include "annotate-comments-preprocessor.h" /// Aaa.
#include "annotate-comments-preprocessor.h" ///< Aaa.

#define A0 0
#define A1 1 /* Aaa. */
#define A2 1 /** Aaa. */
#define A3 1 /**< Aaa. */
#define A4 1 // Aaa.
#define A5 1 /// Aaa.
#define A6 1 ///< Aaa.

int A[] = { A0, A1, A2, A3, A4, A5, A6 };

#if A0 /** Aaa. */
int f(int a1[A1], int a2[A2], int a3[A3], int a4[A4], int a5[A5], int a6[A6]);
#endif /** Aaa. */

#if A1 /** Aaa. */
int g(int a1[A1], int a2[A2], int a3[A3], int a4[A4], int a5[A5], int a6[A6]);
#endif /* Aaa. */

#pragma once /** Aaa. */

#define FOO      \
  do {           \
    /* Aaa. */   \
    /** Aaa. */  \
    /**< Aaa. */ \
    ;            \
  } while(0)

void h(void) {
  FOO;
}