Handle ERROR_MARK in direct_abstract_declarator
authorRichard Biener <rguenther@suse.de>
Thu, 4 Mar 2021 12:31:52 +0000 (13:31 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 4 Mar 2021 15:53:24 +0000 (16:53 +0100)
commit87dc3d0d36a8ac55122da72cf5b1dcf06e694018
treeb6ea7768745c98c20e5fcb2327b525e5256937d1
parent6a8fc0c31a9ae759fe9bf59b5418abf2af938f91
Handle ERROR_MARK in direct_abstract_declarator

The gcc.dg/noncompile/pr79758.c testcase prints

pr79758.c:5:6: error: redefinition of 'fn1'
'error_mark' not supported by direct_abstract_declarator)'/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/noncompile/pr79758.c:4:6: note: previous definition of 'fn1' with type

which shows a) re-entry of pp_printf via pp_unsupported_tree and b) a
bogus diagnostic.  The following handles ERROR_MARK in
direct_abstract_declarator, yielding in the better

/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/noncompile/pr79758.c:5:6: error: redefinition of 'fn1'
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/noncompile/pr79758.c:4:6: note: previous definition of 'fn1' with type 'void(<type-error>)'

but still maybe not perfect.

2021-03-04  Richard Biener  <rguenther@suse.de>

gcc/c-family/
* c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
Handle ERROR_MARK.
gcc/c-family/c-pretty-print.c