Inomp_resolve_declare_variant, a code path generates a new decl for the base function – in doing so, it ignores the assembler name. As the included Fortran example shows, this will lead to a linker error. Solution: Also copy over the assembler name. Comments, suggestions, remarks before I commit it? Tobias PS: As a fallout of some testing, motivated by the original testcase, I have filled a couple of declare-variant and context-selector PRs: 113904 (dyn. user={condition(...)}), 113905 (multiple users of variant funcs), 113906 (construct={...} lacks constructs).