The syntax of the declare variant directive is as follows:
#pragma omp declare variant(variant-func-id) clause new-line
[#pragma omp declare variant(variant-func-id) clause new-line]
[ ... ]
function definition or declaration
where clause is one of the following:
match(context-selector-specification)
and where variant-func-id is the name of a function variant that is either a base language identifier or, for C++, a template-id.