================
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fsyntax-only \
+// RUN:   -isystem %S/Inputs -verify %s
+// RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -fsyntax-only \
+// RUN:   -isystem %S/Inputs -fcuda-is-device -verify %s
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fsyntax-only \
+// RUN:   -isystem %S/Inputs -verify=redecl -Woffload-incompatible-redeclare %s
+// RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -fsyntax-only \
+// RUN:   -isystem %S/Inputs -fcuda-is-device -Woffload-incompatible-redeclare 
-verify=redecl %s
+
+// expected-no-diagnostics
+#include "cuda.h"
+
+__device__ void f(); // redecl-note {{previous declaration is here}}
+
+void f() {} // redecl-warning {{incompatible host/device attribute with 
redeclaration: new declaration is __host__ function, old declaration is 
__device__ function. It will cause warning with nvcc}}
----------------
yxsamliu wrote:

> IMO that looks like a nice "this is incompatible with X" warning like we have 
> for GCC, different C/C++ versions etc., but I'm not an expert here, so maybe 
> this isn't actually an incompatibility? FWIW neither the diagnostic nor your 
> comment make this really clear to me. (Also I'd drop the `It will cause 
> warning with nvcc` and make the flag something like `-Wnvcc-compat`)

sorry. I missed your comments. will rename the flag

https://github.com/llvm/llvm-project/pull/77359
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to