Skip to content

Refactor: OLM_DLLEXPORT definition now lives in a standalone header.#209

Merged
ViralBShah merged 1 commit intoJuliaMath:masterfrom
embeddedartistry:master
Aug 29, 2020
Merged

Refactor: OLM_DLLEXPORT definition now lives in a standalone header.#209
ViralBShah merged 1 commit intoJuliaMath:masterfrom
embeddedartistry:master

Conversation

@phillipjohnston
Copy link
Copy Markdown
Contributor

On x86_64, openlibm_fenv.h is silently coupled to openlibm_complex.h due to the inclusion of math_private.h inside of openlibm_fenv_amd64.h. The math_private.h header was included to gain access to the OLM_DLLEXPORT macro. However, this macro is redefined, since it is originally defined in openlibm_math.h. This inclusion also exposes math_private.h to public clients, which is undesirable.

Instead, a standalone header is created to contain the OLM_DLLEXPORT definition. This header is used included in the appropriate files. openlibm_fenv_amd64.h is no longer coupled to math_private.h.

Resolves #191

On x86_64, openlibm_fenv.h is silently coupled to openlibm_complex.h due to the inclusion of math_private.h inside of openlibm_fenv_amd64.h. The math_private.h header was included to gain access to the OLM_DLLEXPORT macro. However, this macro is redefined, since it is originally defined in openlibm_math.h. This inclusion also exposes math_private.h to public clients, which is undesirable.

Instead, a standalone header is created to contain the OLM_DLLEXPORT definition. This header is used included in the appropriate files. openlibm_fenv_amd64.h is no longer coupled to math_private.h.
@phillipjohnston
Copy link
Copy Markdown
Contributor Author

Hi team, any thoughts on this?

@ViralBShah
Copy link
Copy Markdown
Member

I think I missed this notification.

@ViralBShah ViralBShah merged commit 0276147 into JuliaMath:master Aug 29, 2020
@ViralBShah
Copy link
Copy Markdown
Member

Do we want to tag 0.8 as a result of this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a compiler flag to disable the definition of I

2 participants