diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/pt.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/crash60.C | 4 |
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 ); }; |