@@ -293,6 +293,6 @@ void diagnostic_set_caret_max_width (dia
/* Pure text formatting support functions. */
-extern char *file_name_as_prefix (const char *);
+extern char *file_name_as_prefix (diagnostic_context *, const char *);
#endif /* ! GCC_DIAGNOSTIC_H */
@@ -72,9 +72,12 @@ build_message_string (const char *msg, .
/* Same as diagnostic_build_prefix, but only the source FILE is given. */
char *
-file_name_as_prefix (const char *f)
+file_name_as_prefix (diagnostic_context *context, const char *f)
{
- return build_message_string ("%s: ", f);
+ const char *locus_cs, *locus_ce;
+ locus_cs = colorize_start (pp_show_color (context->printer), "locus");
+ locus_ce = colorize_stop (pp_show_color (context->printer));
+ return build_message_string ("%s%s:%s ", locus_cs, f, locus_ce);
}
@@ -372,7 +372,7 @@ lhd_print_error_function (diagnostic_con
const char *old_prefix = context->printer->prefix;
tree abstract_origin = diagnostic_abstract_origin (diagnostic);
char *new_prefix = (file && abstract_origin == NULL)
- ? file_name_as_prefix (file) : NULL;
+ ? file_name_as_prefix (context, file) : NULL;
pp_set_prefix (context->printer, new_prefix);
@@ -2948,7 +2948,7 @@ cp_print_error_function (diagnostic_cont
const char *file = LOCATION_FILE (diagnostic->location);
tree abstract_origin = diagnostic_abstract_origin (diagnostic);
char *new_prefix = (file && abstract_origin == NULL)
- ? file_name_as_prefix (file) : NULL;
+ ? file_name_as_prefix (context, file) : NULL;
pp_base_set_prefix (context->printer, new_prefix);