Commit 089af25c by David Malcolm Committed by David Malcolm

C: Fix missing spaces in 'struct' fix-it hints

In r237714 I added fix-it hints to the C frontend for missing "struct"
keywords e.g.:

spellcheck-typenames.c:69:1: error: unknown type name ‘foo_t’; use
‘struct’ keyword to refer to the type
 foo_t *foo_ptr;
 ^~~~~
 struct 

However when using the (not yet in trunk) option
 -fdiagnostics-generate-patch,
the generated patch is nonsensical:

  -foo_t *foo_ptr;
  +structfoo_t *foo_ptr;

Fix the fix-its by adding a trailing space to each one, giving:

  -foo_t *foo_ptr;
  +struct foo_t *foo_ptr;

gcc/c/ChangeLog:
	* c-parser.c (c_parser_declaration_or_fndef): Add trailing space
	to the insertion fixits for "struct", "union", and "enum".

From-SVN: r239912
parent 76e6cb83
2016-08-31 David Malcolm <dmalcolm@redhat.com>
* c-parser.c (c_parser_declaration_or_fndef): Add trailing space
to the insertion fixits for "struct", "union", and "enum".
2016-08-30 David Malcolm <dmalcolm@redhat.com>
* c-decl.c (implicit_decl_warning): Use add_fixit_replace
......
......@@ -1685,7 +1685,7 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok,
if (tag_exists_p (RECORD_TYPE, name))
{
/* This is not C++ with its implicit typedef. */
richloc.add_fixit_insert ("struct");
richloc.add_fixit_insert ("struct ");
error_at_rich_loc (&richloc,
"unknown type name %qE;"
" use %<struct%> keyword to refer to the type",
......@@ -1693,7 +1693,7 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok,
}
else if (tag_exists_p (UNION_TYPE, name))
{
richloc.add_fixit_insert ("union");
richloc.add_fixit_insert ("union ");
error_at_rich_loc (&richloc,
"unknown type name %qE;"
" use %<union%> keyword to refer to the type",
......@@ -1701,7 +1701,7 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok,
}
else if (tag_exists_p (ENUMERAL_TYPE, name))
{
richloc.add_fixit_insert ("enum");
richloc.add_fixit_insert ("enum ");
error_at_rich_loc (&richloc,
"unknown type name %qE;"
" use %<enum%> keyword to refer to the type",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment