This fixes a garbled concepts diagnostic by moving the handling of DECLTYPE_TYPE from pp_cxx_type_specifier_seq to cxx_pretty_printer::simple_type_specifier, a move which also seems to be more consistent with the language grammar. This patch also fixes pretty printing of rvalue reference types via cxx_pretty_printer::type_id, which eventually calls pp_c_pointer which currently doesn't distinguish between lvalue and rvalue references. gcc/c-family/ChangeLog: PR c++/85278 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double ampersand if it's an rvalue reference type. gcc/cp/ChangeLog: PR c++/85278 * cxx-pretty-print.c (cxx_pretty_printer:simple_type_specifier) <case DECLTYPE_TYPE>: Handle DECLTYPE_TYPE here instead of ... (pp_cxx_type_specifier_seq) <case DECLTYPE_TYPE>: ... here. (cxx_pretty_printer::direct_abstract_declarator) <case DECLTYPE_TYPE>: New no-op case. gcc/testsuite/ChangeLog: PR c++/85278 * g++.dg/concepts/diagnostic9.C: New test.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
ChangeLog.gimple-classes | Loading commit data... | |
c-ada-spec.c | Loading commit data... | |
c-ada-spec.h | Loading commit data... | |
c-attribs.c | Loading commit data... | |
c-common.c | Loading commit data... | |
c-common.def | Loading commit data... | |
c-common.h | Loading commit data... | |
c-cppbuiltin.c | Loading commit data... | |
c-dump.c | Loading commit data... | |
c-format.c | Loading commit data... | |
c-format.h | Loading commit data... | |
c-gimplify.c | Loading commit data... | |
c-indentation.c | Loading commit data... | |
c-indentation.h | Loading commit data... | |
c-lex.c | Loading commit data... | |
c-objc.h | Loading commit data... | |
c-omp.c | Loading commit data... | |
c-opts.c | Loading commit data... | |
c-pch.c | Loading commit data... | |
c-ppoutput.c | Loading commit data... | |
c-pragma.c | Loading commit data... | |
c-pragma.h | Loading commit data... | |
c-pretty-print.c | Loading commit data... | |
c-pretty-print.h | Loading commit data... | |
c-semantics.c | Loading commit data... | |
c-spellcheck.cc | Loading commit data... | |
c-spellcheck.h | Loading commit data... | |
c-target-def.h | Loading commit data... | |
c-target.def | Loading commit data... | |
c-target.h | Loading commit data... | |
c-ubsan.c | Loading commit data... | |
c-ubsan.h | Loading commit data... | |
c-warn.c | Loading commit data... | |
c.opt | Loading commit data... | |
cppspec.c | Loading commit data... | |
known-headers.cc | Loading commit data... | |
known-headers.h | Loading commit data... | |
name-hint.h | Loading commit data... | |
stub-objc.c | Loading commit data... |