https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113905
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- I bet that the spec writers ment the following (i.e. with the text written in brackets): “If a procedure is determined to be a function variant through more than one declare variant directive [for a given base function] then the construct selector set of their context selectors must be the same." The current wording is otherwise a bit odd. BTW: Besides requiring that their context selector is the same, also append_args and adjust_args must be effectively the same (ignoring different parameter names for C/C++ as long as the result of adjust_args effectively the same).