https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100438
Bug ID: 100438 Summary: `_serialize` macro clashes with user defined identifiers Product: gcc Version: 11.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: heinzisoft at web dot de Target Milestone: --- [CryFS](https://github.com/cryfs/cryfs) compiled fine with GCC 10, but it breaks with GCC 11 because the standard library is now defining a `_serialize` macro that leaks into user code. When CryFS is trying to call a local `_serialize` function, the macro is picked instead. It looks like the macro got introduced here: https://patchwork.ozlabs.org/project/gcc/patch/came9rop_dlg55krxw2v75ppeqj-8tdkob5z-+ewppf-l3ou...@mail.gmail.com/ Also, there's reports in other bug trackers about the same issue: - https://github.com/cryfs/cryfs/issues/389 - https://bugs.gentoo.org/786459