Propagate the source location of a template's function_decl to the
template_decl built out of it. Without this, specializations
generated before the template was defined get the location of the
closing ')' instead of the location of the template's name, which can
produce inconsistent locations between translation units, which makes
gold's ODR checker unhappy.
* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
location to the new template_decl.
* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@176851
138bc75d-0d04-0410-961f-
82ee72b054a4
+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-19 Jason Merrill <jason@redhat.com>
PR c++/49785
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;
+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
// 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-message "note" }
void (SDR::*)
- ( typename SID::T ) ); // { dg-message "note" }
+ ( typename SID::T ) );
struct E { };
struct S { void f( int ); };
+2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
+
2011-07-22 Uros Bizjak <ubizjak@gmail.com>
Backport from mainline
}
// { dg-warning "note" "" { target *-*-* } 354 }
-// { dg-warning "note" "" { target *-*-* } 1086 }
-// { dg-warning "note" "" { target *-*-* } 469 }
-// { dg-warning "note" "" { target *-*-* } 587 }
-// { dg-warning "note" "" { target *-*-* } 1050 }
-// { dg-warning "note" "" { target *-*-* } 1056 }
-// { dg-warning "note" "" { target *-*-* } 342 }
-// { dg-warning "note" "" { target *-*-* } 292 }
+// { dg-warning "note" "" { target *-*-* } 1085 }
+// { dg-warning "note" "" { target *-*-* } 468 }
+// { dg-warning "note" "" { target *-*-* } 586 }
+// { dg-warning "note" "" { target *-*-* } 1049 }
+// { dg-warning "note" "" { target *-*-* } 1055 }
+// { dg-warning "note" "" { target *-*-* } 341 }
+// { dg-warning "note" "" { target *-*-* } 291 }
// { dg-warning "note" "" { target *-*-* } 207 }