diff options
author | Kamlesh Kumar <kamleshbhalui@gmail.com> | 2019-11-04 23:24:25 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-11-04 18:24:25 -0500 |
commit | e0c866ddfdb500cacefee4e37fb3e85521c55623 (patch) | |
tree | 97bd2e1b1e838cc820f21aaee225bf416616c1e3 /gcc/cp/mangle.c | |
parent | 04373f9288435fa2980dda99ad988fa5ce99331a (diff) | |
download | gcc-e0c866ddfdb500cacefee4e37fb3e85521c55623.zip gcc-e0c866ddfdb500cacefee4e37fb3e85521c55623.tar.gz gcc-e0c866ddfdb500cacefee4e37fb3e85521c55623.tar.bz2 |
PR c++/91979 - mangling nullptr expression
2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
gcc/cp
* cp/mangle.c (write_template_arg_literal): Handle nullptr
mangling.
gcc
* common.opt (-fabi-version): Document =14.
* doc/invoke.texi (C++ Dialect Options): Likewise.
gcc/c-family
* c-opts.c (c_common_post_options): Update
latest_abi_version.
libiberty
* cp-demangle.c (d_expr_primary): Handle
nullptr demangling.
* testsuite/demangle-expected: Added test.
From-SVN: r277801
Diffstat (limited to 'gcc/cp/mangle.c')
-rw-r--r-- | gcc/cp/mangle.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index a9333b8..0ac0451 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -3400,7 +3400,9 @@ write_template_arg_literal (const tree value) case INTEGER_CST: gcc_assert (!same_type_p (TREE_TYPE (value), boolean_type_node) || integer_zerop (value) || integer_onep (value)); - write_integer_cst (value); + if (!(abi_version_at_least (14) + && NULLPTR_TYPE_P (TREE_TYPE (value)))) + write_integer_cst (value); break; case REAL_CST: |