[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)
Jon Roelofs via cfe-commits
cfe-commits at lists.llvm.org
Sat Mar 23 16:37:50 PDT 2024
================
@@ -483,14 +483,16 @@ void just_fine(void) {}
__arm_locally_streaming
__attribute__((target_version("sme2")))
-void just_fine_locally_streaming(void) {}
+void incompatible_locally_streaming(void) {}
+// expected-error at -1 {{attribute 'target_version' multiversioning cannot be combined with attribute '__arm_locally_streaming'}}
+// expected-cpp-error at -2 {{attribute 'target_version' multiversioning cannot be combined with attribute '__arm_locally_streaming'}}
----------------
jroelofs wrote:
I think this is a regression, but it's fine to fix it in another patch. The locally streaming function has the same ABI as the non-streaming one, so FMV _should_ be possible between them (unlike w/ a streaming one). LIkewise, it should be possible to FMV between streaming compatible functions and normal ones.
https://github.com/llvm/llvm-project/pull/85454
More information about the cfe-commits
mailing list