Skip to content

Allow qstrdefs to be preprocessed safely without macro name clashes #1252

@dpgeorge

Description

@dpgeorge

On Mac qstrdefs preprocessing is now broken; see 1129de5#commitcomment-11139851

The problem is that some qstr names (in this case stdin, stdout, stderr) are #define'd to something else in a system header. And so Q(stdin) is preprocessed to, eg, Q(__stdinp).

[@pfalcon I think this has arisen due to 8fbabab.]

We need the preprocessor to run on qstrdefs.h to selectively include certain qstrs. We need to include mpconfigport.h in qstrdefs.h to work out what to enable. And mpconfigport.h can include system headers.

Currently qstrdefsport.h is not preprocessed (I think for this same reason of macro name clashes) and it would be nice to be able to pass that file also through the C preprocessor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions