[clang] [FMV] Allow multi versioning without default declaration. (PR #85454)

Alexandros Lamprineas via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 22 10:14:06 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'}}
----------------
labrinea wrote:

I believe this has to do with the order of parsing. Before only after we saw the default we then acknowledged the sme2 version, so this diagnostic was missed. But I am not 100% sure this is the reason.

https://github.com/llvm/llvm-project/pull/85454


More information about the cfe-commits mailing list