[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