https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42014

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Since r11-2092 we don't print the columns at all if the column was 0.
So mostly we get:

In file included from /usr/include/c++/4.9.1/iostream:39,
                 from test.cxx:1:


The code looks like:
              const char *line_col = maybe_line_and_column (s.line, col);
              static const char *const msgs[] =
                {
                 NULL,
                 N_("                 from"),
                 N_("In file included from"),   /* 2 */
                 N_("        included from"),
                 N_("In module"),               /* 4 */
                 N_("of module"),
                 N_("In module imported at"),   /* 6 */
                 N_("imported at"),
                };

              unsigned index = (was_module ? 6 : is_module ? 4
                                : need_inc ? 2 : 0) + !first;

              pp_verbatim (context->printer, "%s%s %r%s%s%R",
                           first ? "" : was_module ? ", " : ",\n",
                           _(msgs[index]),
                           "locus", s.file, line_col);



Where maybe_line_and_column does:
static const char *
maybe_line_and_column (int line, int col)
{
  static char result[32];

  if (line)
    {
      size_t l
        = snprintf (result, sizeof (result),
                    col >= 0 ? ":%d:%d" : ":%d", line, col);
      gcc_checking_assert (l < sizeof (result));
    }
  else
    result[0] = 0;
  return result;
}

Reply via email to