[clang] [clang][FMV] Do not omit explicit default target_version attribute. (PR #96628)

Alexandros Lamprineas via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 28 10:40:42 PDT 2024


================
@@ -11465,6 +11465,10 @@ static bool CheckMultiVersionFirstFunction(Sema &S, FunctionDecl *FD) {
   // otherwise it is treated as a normal function.
   if (TA && !TA->isDefaultVersion())
     return false;
+  // The target_version attribute only causes Multiversioning if this
+  // declaration is NOT the default version.
+  if (TVA && TVA->isDefaultVersion())
+    return false;
----------------
labrinea wrote:

`error: 'target_version' and 'target' attributes are not compatible`

No it's not allowed, but that doesn't mean that the early exit conditions cannot interfere. For example as I explain below !TVA should not early exit because this function check the target attribute as well.

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


More information about the cfe-commits mailing list