diff options
| author | Jakub Jelinek <jakub@redhat.com> | 2026-02-06 11:27:52 +0100 |
|---|---|---|
| committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2026-02-06 11:27:52 +0100 |
| commit | 5f75fc37b131c701a5b5c627239fa4e4dfabe230 (patch) | |
| tree | 8fa1d1071ff18c0a40ca797058bbfe67a92dc1d4 /libjava/gnu/java/security/provider/MD2withRSA.java | |
| parent | 4046caad61a0406e42cae0c38a6aa26f5975a197 (diff) | |
| download | gcc-5f75fc37b131c701a5b5c627239fa4e4dfabe230.zip gcc-5f75fc37b131c701a5b5c627239fa4e4dfabe230.tar.gz gcc-5f75fc37b131c701a5b5c627239fa4e4dfabe230.tar.bz2 | |
tree: Fix up build_function_type for (...) fntypes [PR123977]
The following testcase ICEs in -std=c++26 mode since my r16-4338 C++26
va_start changes.
The problem is that if we have anything non-canonical in a function
type with (...) in C++26 (or C23/C2Y) mode, in this case the R typedef
on return type rather than void, then we try to build TYPE_CANONICAL
for that, but weren't passing in the no_named_args_stdarg_p, so
a type with TYPE_NO_NAMED_ARGS_STDARG_P flag set got TYPE_CANONICAL
with TYPE_NO_NAMED_ARGS_STDARG_P flag cleared and comptypes then
didn't like that as those aren't really compatible types
(...) vs. the C89-ish () which even C++ uses for some type-generic
etc. builtins.
2026-02-05 Jakub Jelinek <jakub@redhat.com>
PR c++/123977
* tree.cc (build_function_type): Pass no_named_args_stdarg_p
as last argument to recursive call.
* g++.dg/cpp26/stdarg10.C: New test.
Diffstat (limited to 'libjava/gnu/java/security/provider/MD2withRSA.java')
0 files changed, 0 insertions, 0 deletions
