aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-11-14 20:53:23 -0500
committerJason Merrill <jason@gcc.gnu.org>2012-11-14 20:53:23 -0500
commit4fce678f8afd3d667becf67576b7d88d07670805 (patch)
tree18a8356e6c1d6ef2f5a6a68accfbd97f30d76a5b /gcc/cp
parentc25639b1a3aaf288a1fb5b6b6921defa7e5dfa4a (diff)
downloadgcc-4fce678f8afd3d667becf67576b7d88d07670805.zip
gcc-4fce678f8afd3d667becf67576b7d88d07670805.tar.gz
gcc-4fce678f8afd3d667becf67576b7d88d07670805.tar.bz2
re PR c++/55275 (abi_tag attribute doesn't work on explicit specializations of class templates)
PR c++/55275 * pt.c (maybe_process_partial_specialization): Update DECL_SOURCE_LOCATION for new specializations. From-SVN: r193524
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/pt.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d382a04..bb5e4ba 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/55275
+ * pt.c (maybe_process_partial_specialization): Update
+ DECL_SOURCE_LOCATION for new specializations.
+
2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55323
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 802c79b..3c9bb56 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -838,6 +838,7 @@ maybe_process_partial_specialization (tree type)
{
check_specialization_namespace (CLASSTYPE_TI_TEMPLATE (type));
SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (type);
+ DECL_SOURCE_LOCATION (TYPE_MAIN_DECL (type)) = input_location;
if (processing_template_decl)
{
if (push_template_decl (TYPE_MAIN_DECL (type))
@@ -934,6 +935,7 @@ maybe_process_partial_specialization (tree type)
have one level of template argument for the innermost
class template. */
SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (type);
+ DECL_SOURCE_LOCATION (TYPE_MAIN_DECL (type)) = input_location;
CLASSTYPE_TI_ARGS (type)
= INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type));
}