From: Jakub Jelinek Date: Fri, 1 Dec 2023 07:11:34 +0000 (+0100) Subject: s390: Fix builtin-classify-type-1.c on s390 too [PR112725] X-Git-Tag: basepoints/gcc-15~4100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28944a016bb5eef9a99691b3c55b124882375180;p=thirdparty%2Fgcc.git s390: Fix builtin-classify-type-1.c on s390 too [PR112725] s390 suffers from the same issue with __builtin_classify_type vector arguments, the target hook diagnoses those because it thinks a vector is passed to an unprototyped function, but in this case it is a type-generic builtin which can support vector types just fine, by folding into the appropriate constant. This fixes -FAIL: c-c++-common/builtin-classify-type-1.c -Wc++-compat (test for excess errors) -UNRESOLVED: c-c++-common/builtin-classify-type-1.c -Wc++-compat compilation failed to produce executable on s390x-linux. 2023-12-01 Jakub Jelinek PR target/112725 * config/s390/s390.cc (s390_invalid_arg_for_unprototyped_fn): Return NULL for __builtin_classify_type calls with vector arguments. --- diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc index 29b5dc979207..4b16a75f8518 100644 --- a/gcc/config/s390/s390.cc +++ b/gcc/config/s390/s390.cc @@ -12650,7 +12650,8 @@ s390_invalid_arg_for_unprototyped_fn (const_tree typelist, const_tree funcdecl, && 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_("vector argument passed to unprototyped function") : NULL); }