Skip to content

Enable MSERIALIZE_MAKE_DERIVED unittests on windows #134

@erenon

Description

@erenon

The following macro invocations fail on MSVC:

MSERIALIZE_MAKE_DERIVED_STRUCT_TAG(Derived1, (Base2, Base3), d, e)
MSERIALIZE_MAKE_DERIVED_STRUCT_SERIALIZABLE(Derived1, (Base2, Base3), d, e)

They appear in tag.cpp, roundtrip.cpp, visit.cpp.

Error is:

not enough arguments for function-like macro invocation 'MSERIALIZE_FOREACH_3'.

It is suspected that (Base2, Base3) does not expand properly, because of the nonstandard msvc preprocessor.
The actual user-facing functionality (BINLOG_ADAPT_DERIVED) works. (MSERIALIZE_EXPAND does the trick there for some reason)

Task: Fix the affected macros on MSVC, remove the #ifndef _WIN32 guards from the files above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions