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

--- Comment #3 from Zhongteng Gui <dragon-archer at outlook dot com> ---
(In reply to Jonathan Wakely from comment #1)
> It's not entirely redundant, because we still aim for compatibility with
> much older releases and if something affects that, it's relevant.
> 
> You can use -Wabi=n to say you don't care about differences against older
> releases, or -Wno-psabi

I doubt if there'll really be anyone do a sudden upgrade from GCC 4.x to GCC
17+. And even if so, there is likely more breaking changes. For example, GCC
5.1 use C++11 abi for std::string and std::list, it's true that it'll warn if
you explicitly enables -Wabi-tag, but usually nobody do so, as it's not
included in -Wall or -Wextra.

The note here is different, it's triggered by default, even without -Wall. It
can be triggered by default (as long as you don't default to -march=x86-64-v3
or higher) with the following simple snippet

        struct aligned_value {
                unsigned char bytes[32];
        } __attribute__((aligned(32)));

        static int check_value(struct aligned_value value)
        {
                return 0;
        }

1.c: In function ‘check_value’:
1.c:5:12: note: the ABI for passing parameters with 32-byte alignment has
changed in GCC 4.6
    5 | static int check_value(struct aligned_value value)
      |            ^~~~~~~~~~~

Reply via email to