summaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-06 21:13:07 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-06 21:13:07 +0000
commitaad3e1b3626af198335f363a90c6ab79e3158f9a (patch)
treebce7108409edea2346357626feb21cb76d8a5755 /gcc/cp/parser.c
parent1fc000b2e38cbe6d62dac3affc089bdc5e5a90df (diff)
downloadgcc-aad3e1b3626af198335f363a90c6ab79e3158f9a.tar.gz
* parser.c (cp_parser_class_specifier): Set class location to that
of IDENTIFIER_NODE instead of '{' when possible. * semantics.c (begin_class_definition): Do not overide locations with less precise ones. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158030 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r--gcc/cp/parser.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 8a1bb9f600e..e25c280f486 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -16395,6 +16395,9 @@ cp_parser_class_head (cp_parser* parser,
end_specialization ();
--parser->num_template_parameter_lists;
}
+
+ if (type)
+ DECL_SOURCE_LOCATION (TYPE_NAME (type)) = type_start_token->location;
*attributes_p = attributes;
return type;
}