aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c1
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash60.C4
4 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d169ed1..653a0ab 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * pt.c (build_template_decl): Copy the function_decl's
+ source location to the new template_decl.
+
2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49776
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 178685c..b9e09af 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -4121,6 +4121,7 @@ build_template_decl (tree decl, tree parms, bool member_template_p)
tree tmpl = build_lang_decl (TEMPLATE_DECL, DECL_NAME (decl), NULL_TREE);
DECL_TEMPLATE_PARMS (tmpl) = parms;
DECL_CONTEXT (tmpl) = DECL_CONTEXT (decl);
+ DECL_SOURCE_LOCATION (tmpl) = DECL_SOURCE_LOCATION (decl);
DECL_MEMBER_TEMPLATE_P (tmpl) = member_template_p;
return tmpl;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a5fd846..952c3ca 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * g++.old-deja/g++.pt/crash60.C: Updated.
+
2011-07-27 Jakub Jelinek <jakub@redhat.com>
PR target/49866
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash60.C b/gcc/testsuite/g++.old-deja/g++.pt/crash60.C
index 747af9b..1be4678 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash60.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash60.C
@@ -5,9 +5,9 @@
// We ICE'd rather than fail to instantiate.
template< typename SID, class SDR >
-void k( SID sid, SDR* p,
+void k( SID sid, SDR* p, // { dg-error "no type named 'T'" }
void (SDR::*)
- ( typename SID::T ) ); // { dg-error "no type named 'T'" }
+ ( typename SID::T ) );
struct E { };
struct S { void f( int ); };