aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2010-04-06 17:13:07 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-04-06 17:13:07 -0400
commitd4a2b4862344454ab42a57a6a4b50461d1fa6f81 (patch)
treebce7108409edea2346357626feb21cb76d8a5755 /gcc/cp/parser.c
parent9310a3e26905c65e86acfb6634252dab2d346fd0 (diff)
downloadgcc-d4a2b4862344454ab42a57a6a4b50461d1fa6f81.zip
gcc-d4a2b4862344454ab42a57a6a4b50461d1fa6f81.tar.gz
gcc-d4a2b4862344454ab42a57a6a4b50461d1fa6f81.tar.bz2
parser.c (cp_parser_class_specifier): Set class location to that of IDENTIFIER_NODE instead of '{' when possible.
* 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. From-SVN: r158030
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 8a1bb9f..e25c280 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;
}