diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 88e68ae..dc244ce 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -10749,7 +10749,7 @@ c_parser_oacc_data_clause_deviceptr (c_parser *parser, tree list) c_parser_omp_var_list_parens() should construct a list of locations to go along with the var list. */ - if (TREE_CODE (v) != VAR_DECL) + if (TREE_CODE (v) != VAR_DECL && TREE_CODE (v) != PARM_DECL) error_at (loc, "%qD is not a variable", v); else if (TREE_TYPE (v) == error_mark_node) ; diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 41fb35e..c233595 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -28122,7 +28122,7 @@ cp_parser_oacc_data_clause_deviceptr (cp_parser *parser, tree list) c_parser_omp_var_list_parens should construct a list of locations to go along with the var list. */ - if (TREE_CODE (v) != VAR_DECL) + if (TREE_CODE (v) != VAR_DECL && TREE_CODE (v) != PARM_DECL) error_at (loc, "%qD is not a variable", v); else if (TREE_TYPE (v) == error_mark_node) ;