On Sun, Aug 29, 2021 at 08:24:10AM -0700, H.J. Lu via Gcc-patches wrote:
> + if (gcc_version)
> + {
> + if (in_return)
> + {
> + static bool warnedm64_ret;
> + if (!warnedm64_ret)
> + {
> + if (warning (OPT_Wpsabi,
> + "the ABI of returning structure with a "
> + "64-bit vector has changed in GCC %d.1",
> + gcc_version))
> + warnedm64_ret = true;
> + }
> + }
> + else
> + {
> + static bool warnedm64;
> + if (!warnedm64)
> + {
> + if (warning (OPT_Wpsabi,
> + "the ABI of passing structure with a "
> + "64-bit vector has changed in GCC %d.1",
> + gcc_version))
> + warnedm64 = true;
> + }
> + }
> + }
Other -Wpsabi diagnostics in i386.c seems to be done using inform rather
than warning, why the change?
And, can you add wwwdocs description of the ABI change and use
in %{GCC %d.1%}, so that on recent terminals people can find out the
details by clicking on it?
See
if (!warned && warn_psabi)
{
const char *url
= CHANGES_ROOT_URL "gcc-11/changes.html#ia32_atomic";
warned = true;
inform (input_location, "the alignment of %<_Atomic %T%> "
"fields changed in %{GCC 11.1%}",
TYPE_MAIN_VARIANT (type), url);
}
Jakub