summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/test/Driver/retain-comments-from-system-headers.c9
-rw-r--r--clang/test/Index/Inputs/retain-comments-from-system-headers.h8
-rw-r--r--clang/test/Index/retain-comments-from-system-headers.c19
3 files changed, 36 insertions, 0 deletions
diff --git a/clang/test/Driver/retain-comments-from-system-headers.c b/clang/test/Driver/retain-comments-from-system-headers.c
new file mode 100644
index 00000000000..4d3e2ffe06f
--- /dev/null
+++ b/clang/test/Driver/retain-comments-from-system-headers.c
@@ -0,0 +1,9 @@
+// Check that we pass -fretain-comments-from-system-headers to frontend.
+//
+// RUN: %clang -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-RETAIN
+// RUN: %clang -c %s -fretain-comments-from-system-headers -### 2>&1 | FileCheck %s --check-prefix=CHECK-RETAIN
+//
+// CHECK-RETAIN: -fretain-comments-from-system-headers
+//
+// CHECK-NO-RETAIN-NOT: -fretain-comments-from-system-headers
+
diff --git a/clang/test/Index/Inputs/retain-comments-from-system-headers.h b/clang/test/Index/Inputs/retain-comments-from-system-headers.h
new file mode 100644
index 00000000000..28dd94f2aad
--- /dev/null
+++ b/clang/test/Index/Inputs/retain-comments-from-system-headers.h
@@ -0,0 +1,8 @@
+#pragma clang system_header
+
+/**
+ * system_function
+ * \param a Aaa.
+ */
+int system_function(int a);
+
diff --git a/clang/test/Index/retain-comments-from-system-headers.c b/clang/test/Index/retain-comments-from-system-headers.c
new file mode 100644
index 00000000000..a9b2e2f1ef3
--- /dev/null
+++ b/clang/test/Index/retain-comments-from-system-headers.c
@@ -0,0 +1,19 @@
+// Run lines are sensitive to line numbers and come below the code.
+
+#include "retain-comments-from-system-headers.h"
+
+/**
+ * user_function
+ * \param a Aaa.
+ */
+int user_function(int a);
+
+// RUN: c-index-test -test-load-source all %s -I %S/Inputs | FileCheck %s
+// RUN: c-index-test -test-load-source all %s -fretain-comments-from-system-headers -I %S/Inputs | FileCheck %s -check-prefix=RETAIN
+
+// CHECK: retain-comments-from-system-headers.h:7:5: FunctionDecl=system_function:7:5 Extent=[7:1 - 7:27]
+// CHECK: retain-comments-from-system-headers.c:9:5: FunctionDecl=user_function:9:5 RawComment=[/**\n * user_function\n * \param a Aaa.\n */] RawCommentRange=[5:1 - 8:4] BriefComment=[user_function]
+
+// CHECK-RETAIN: retain-comments-from-system-headers.h:7:5: FunctionDecl=system_function:7:5 RawComment=[/**\n * system_function\n * \param a Aaa.\n */] RawCommentRange=[3:1 - 6:4] BriefComment=[system_function]
+// CHECK-RETAIN: retain-comments-from-system-headers.c:9:5: FunctionDecl=user_function:9:5 RawComment=[/**\n * user_function\n * \param a Aaa.\n */] RawCommentRange=[5:1 - 8:4] BriefComment=[user_function]
+
OpenPOWER on IntegriCloud