rs6000: Fix up c-c++-common/builtin-classify-type-1.c failure [PR112725]

The rs6000 backend (and s390 one as well) diagnoses passing vector types
to unprototyped functions, which breaks the builtin-classify-type-1.c test.
The builtin isn't really unprototyped, it is just type-generic and accepting
vector types is just fine there, all it does is categorize the vector type.
The following patch makes sure we don't diagnose it for this builtin.

2023-11-29  Jakub Jelinek  <jakub@redhat.com>

	PR target/112725
	* config/rs6000/rs6000.cc (invalid_arg_for_unprototyped_fn): Return
	NULL for __builtin_classify_type calls with vector arguments.
This commit is contained in:
Jakub Jelinek 2023-11-29 19:19:07 +01:00
parent 634cf26c94
commit 259bb7a45a

View file

@ -24389,7 +24389,8 @@ invalid_arg_for_unprototyped_fn (const_tree typelist, const_tree funcdecl, const
&& VECTOR_TYPE_P (TREE_TYPE (val))
&& (funcdecl == NULL_TREE
|| (TREE_CODE (funcdecl) == FUNCTION_DECL
&& DECL_BUILT_IN_CLASS (funcdecl) != BUILT_IN_MD)))
&& DECL_BUILT_IN_CLASS (funcdecl) != BUILT_IN_MD
&& !fndecl_built_in_p (funcdecl, BUILT_IN_CLASSIFY_TYPE))))
? N_("AltiVec argument passed to unprototyped function")
: NULL;
}