diff --git a/plugins/clang/duchain/clanghelpers.cpp b/plugins/clang/duchain/clanghelpers.cpp
--- a/plugins/clang/duchain/clanghelpers.cpp
+++ b/plugins/clang/duchain/clanghelpers.cpp
@@ -311,6 +311,7 @@
QStringLiteral("hxx"),
QStringLiteral("hpp"),
QStringLiteral("tlh"),
+ QStringLiteral("cuh"),
QStringLiteral("h++"),
};
return headerExtensions;
@@ -325,6 +326,7 @@
QStringLiteral("c++"),
QStringLiteral("cxx"),
QStringLiteral("C"),
+ QStringLiteral("cu"),
QStringLiteral("m"),
QStringLiteral("mm"),
QStringLiteral("M"),
diff --git a/plugins/clang/duchain/documentfinderhelpers.cpp b/plugins/clang/duchain/documentfinderhelpers.cpp
--- a/plugins/clang/duchain/documentfinderhelpers.cpp
+++ b/plugins/clang/duchain/documentfinderhelpers.cpp
@@ -179,8 +179,10 @@
static const QStringList mimeTypes = {
QStringLiteral("text/x-chdr"),
QStringLiteral("text/x-c++hdr"),
+ QStringLiteral("text/vnd.nvidia.cuda.chdr"),
QStringLiteral("text/x-csrc"),
QStringLiteral("text/x-c++src"),
+ QStringLiteral("text/vnd.nvidia.cuda.csrc"),
QStringLiteral("text/x-objcsrc")
};
return mimeTypes;
diff --git a/plugins/clang/duchain/parsesession.cpp b/plugins/clang/duchain/parsesession.cpp
--- a/plugins/clang/duchain/parsesession.cpp
+++ b/plugins/clang/duchain/parsesession.cpp
@@ -102,8 +102,11 @@
// TODO: No proper mime type detection possible yet
// cf. https://bugs.freedesktop.org/show_bug.cgi?id=23700
- if (path.endsWith(QLatin1String(".cu"), Qt::CaseInsensitive)) {
- return {QByteArrayLiteral("-xcuda")};
+ if (path.endsWith(QLatin1String(".cu"), Qt::CaseInsensitive) ||
+ path.endsWith(QLatin1String(".cuh"), Qt::CaseInsensitive)) {
+ auto result = parserSettings.toClangAPI();
+ result.append(QByteArrayLiteral("-xcuda"));
+ return result;
}
if (parserSettings.parserOptions.isEmpty()) {
diff --git a/plugins/clang/kdevclang.xml b/plugins/clang/kdevclang.xml
--- a/plugins/clang/kdevclang.xml
+++ b/plugins/clang/kdevclang.xml
@@ -54,7 +54,13 @@
NVIDIA CUDA C kaynak kodu
початковий код C NVIDIA CUDA
NVIDIA CUDA C 源代码
-
+
+
+
+ NVIDIA CUDA C header
+
+
+
diff --git a/plugins/clang/kdevclangsupport.json b/plugins/clang/kdevclangsupport.json
--- a/plugins/clang/kdevclangsupport.json
+++ b/plugins/clang/kdevclangsupport.json
@@ -72,6 +72,7 @@
"text/x-c++src",
"text/x-opencl-src",
"text/vnd.nvidia.cuda.csrc",
+ "text/vnd.nvidia.cuda.chdr",
"text/x-objcsrc"
]
}