aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-11-20 21:04:38 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-11-20 21:04:38 -0500
commit80ca43a3140e5389e0b07621f9e30704f8371d20 (patch)
tree04c08061e821d1749a3b70b3445de464514be794 /gcc/cp
parent6a4b4d31790e8af35c452689d967b94f0ce06b1a (diff)
downloadgcc-80ca43a3140e5389e0b07621f9e30704f8371d20.zip
gcc-80ca43a3140e5389e0b07621f9e30704f8371d20.tar.gz
gcc-80ca43a3140e5389e0b07621f9e30704f8371d20.tar.bz2
pt.c (type_unification_real): Set input_location during default arg instantiation.
* pt.c (type_unification_real): Set input_location during default arg instantiation. From-SVN: r181546
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1bc0e5a..21bfbcd 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ * pt.c (type_unification_real): Set input_location
+ during default arg instantiation.
+
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index f4eb1d4..5b39e9f 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -15218,9 +15218,13 @@ type_unification_real (tree tparms,
{
tree parm = TREE_VALUE (TREE_VEC_ELT (tparms, i));
tree arg = TREE_PURPOSE (TREE_VEC_ELT (tparms, i));
+ location_t save_loc = input_location;
+ if (DECL_P (parm))
+ input_location = DECL_SOURCE_LOCATION (parm);
arg = tsubst_template_arg (arg, targs, complain, NULL_TREE);
arg = convert_template_argument (parm, arg, targs, complain,
i, NULL_TREE);
+ input_location = save_loc;
if (arg == error_mark_node)
return 1;
else