================
@@ -0,0 +1,31 @@
+// REQUIRES: aarch64-registered-target
+
+// RUN: %clang_cc1 -triple aarch64 -emit-llvm -o - %s -verify -DTEST1
+// RUN: %clang_cc1 -triple aarch64 -target-feature +sme -target-feature +sme2 
-emit-llvm -o - %s -verify -DTEST2
----------------
sdesmalen-arm wrote:

Can you now change the filename, since it's now wider scope than just the SME 
attributes. Maybe `lambda-instantiation-require-different-mangled-names.cpp` or 
something?

The same issue exists for more generic ways to specify the calling convention, 
e.g. `__attribute__((preserve_none))`, which also affects other targets. For 
these, the compiler could select the worst-case calling convention for its 
instantiation (i.e. assume everything is clobbered), rather than emitting a 
diagnostic. But that would require explicit logic to select the right calling 
convention, which is out of scope of this PR.

nit: rather than using ifdef's, I'd recommend using the `split-file` tool 
instead (it does mean duplicating the `normal_fn` declaration)

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

Reply via email to