diff options
author | Marek Polacek <polacek@redhat.com> | 2024-01-17 19:16:32 -0500 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-01-18 09:11:57 -0500 |
commit | 9840e0be78150b0ef6e29975a6244698d5a5580c (patch) | |
tree | d78118d7216f8232ba93043246445fc945e91b0b /gcc/objc | |
parent | 1d82a2d933efd49a895873545a46f4945c716654 (diff) | |
download | gcc-9840e0be78150b0ef6e29975a6244698d5a5580c.zip gcc-9840e0be78150b0ef6e29975a6244698d5a5580c.tar.gz gcc-9840e0be78150b0ef6e29975a6244698d5a5580c.tar.bz2 |
c++: ICE when xobj is not the first parm [PR113389]
In grokdeclarator/cdk_function the comment says that the find_xobj_parm
lambda clears TREE_PURPOSE so that we can correctly detect an xobj that
is not the first parameter. That's all good, but we should also clear
the TREE_PURPOSE once we've given the error, otherwise we crash later in
check_default_argument because the 'this' TREE_PURPOSE lacks a type.
PR c++/113389
gcc/cp/ChangeLog:
* decl.cc (grokdeclarator) <case cdk_function>: Set TREE_PURPOSE to
NULL_TREE when emitting an error.
gcc/testsuite/ChangeLog:
* g++.dg/cpp23/explicit-obj-diagnostics10.C: New test.
Diffstat (limited to 'gcc/objc')
0 files changed, 0 insertions, 0 deletions