diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-06 14:26:18 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-06 14:26:18 +0000 |
commit | 15af172f2a0ea281969e3105da9f9bb100097c7d (patch) | |
tree | acf5d40bd4846ad508391330ae43ab576f5f31b7 /gcc/cp/mangle.c | |
parent | 8f282ed29d1889359c4253da1a31cc339d3ffb17 (diff) | |
download | gcc-15af172f2a0ea281969e3105da9f9bb100097c7d.tar.gz |
PR c++/67130
PR c++/67131
PR c++/66260
* mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
templates.
* pt.c (tsubst_copy_and_build): Check for argument substitution
failure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226676 138bc75d-0d04-0410-961f-82ee72b054a4
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 d471f4f0a06..4518f20cc8e 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -2822,7 +2822,9 @@ write_expression (tree expr) { tree fn = TREE_OPERAND (expr, 0); if (is_overloaded_fn (fn)) - fn = DECL_NAME (get_first_fn (fn)); + fn = get_first_fn (fn); + if (DECL_P (fn)) + fn = DECL_NAME (fn); if (IDENTIFIER_OPNAME_P (fn)) write_string ("on"); write_unqualified_id (fn); |