jroelofs wrote: The current patch looks mostly good, but I'm still hung up on this:
> I'd like to support FMV in existing codebases as lean as possible, so the > default version attribute would be optional to write as not all > version/toolchain will support it. smallest possible codebase change to > introduce multi versioning: > > ```c > int foo(void); > > + #ifdef __HAVE_FUNCTION_MULTI_VERSIONING > + int __attribute__((target_version("feature"))) foo(void); > + #endif > ``` Are you imagining this would multi-version between the un-decorated `int foo(void);` and the `int __attribute__((target_version("feature"))) foo(void);` decorated one? In the current patch, it just gets the non-mangled name. And the fact that we get a not-mangled function that uses `feature` without going through a resolver is concerning to me. https://github.com/llvm/llvm-project/pull/84405 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits