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

Reply via email to