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

Reply via email to