Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed redundant PYIMATH_EXPORTS causing compile issues on Windows Clang #331

Conversation

ZTKlein
Copy link
Contributor

@ZTKlein ZTKlein commented Jun 30, 2023

Some of the code for the python bindings declares __declspec(export) on code without external linkage. MSVC behavior is to ignore these declarations, but they cause Clang on Windows to error out. This PR removes PYIMATH_EXPORT declarations on deleted functions in PyImathUtil.h and in an anonymous namespace in PyImathStringTable.cpp.

PyImathTest_Python3 and PyImathTestC tests fail in my environment, but that's unrelated to these changes.

Signed-off-by: Zachary Klein <ztklein@lavabit.com>
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Jun 30, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

Copy link
Member

@cary-ilm cary-ilm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This took me a while to check out on my end, but everything looks fine, thanks for the fix.

@cary-ilm cary-ilm merged commit 94aa675 into AcademySoftwareFoundation:main Jul 5, 2023
cary-ilm pushed a commit to cary-ilm/Imath that referenced this pull request Jan 23, 2024
cary-ilm pushed a commit to cary-ilm/Imath that referenced this pull request Jan 24, 2024
cary-ilm pushed a commit that referenced this pull request Jan 24, 2024
…ng (#331)

Signed-off-by: Zachary Klein <ztklein@lavabit.com>
netbsd-srcmastr referenced this pull request in NetBSD/pkgsrc Jan 28, 2024
## Version 3.1.10 (January 26, 2024)

Patch release with various build/bug fixes.

Build fixes:

  - Fix a problem where downstream projects using Imath would build
    python bindings even if they weren't requested.
  - Fix for missing `std::bit_cast`
  - Fix missing/necessary use of IMATH_HOSTDEVICE
  - IMATH_INSTALL_PKG_CONFIG is now on by default, even on Windows
  - Fix calling default constructor by uniform init in TypeTraits
  - Fix redundant PYIMATH_EXPORTS causing compile issues on Windows Clang
  - Update to SO versioning policy:

    This change adopts a policy of appending the ``MAJOR.MINOR.PATCH``
    software release name to the ``SONAME`` to form the real name of the
    shared library.

    See [website/install.rst](website/install.rst) and [PR
    #339](AcademySoftwareFoundation/openexr#339)
    for more details.

Bug fixes:

  - Fix half to float giving wrong results on older x86_64 CPUs on Windows

Other changes:

  - succ()/pred() now use std::nextafter().
  - Expand epsilon bounds for m44x pyImath test.
  - Rename "docs" to "website".
  - Add missing copyright/license identifiers.

### Merged Pull Requests

* \[[#363](https://github.com/AcademySoftwareFoundation/Imath/pull/363)\]
Update install instructions to reflect new SO versioning policy

* \[[#362](https://github.com/AcademySoftwareFoundation/Imath/pull/362)\]
Require sphinx 5.0

* \[[#361](https://github.com/AcademySoftwareFoundation/Imath/pull/361)\]
src/python/config/ModuleDefine.cmake: do not install a cmake file exporting targets for dependent projects

* \[[#358](https://github.com/AcademySoftwareFoundation/Imath/pull/358)\]
Fix half to float giving wrong results on older x86_64 CPUs on Windows

* \[[#353](https://github.com/AcademySoftwareFoundation/Imath/pull/353)\]
Changed implementation of succ and pred to use std::nextafter.

* \[[#350](https://github.com/AcademySoftwareFoundation/Imath/pull/350)\]
Fix check for the availability of std::bit_cast

* \[[#349](https://github.com/AcademySoftwareFoundation/Imath/pull/349)\]
IMATH_INSTALL_PKG_CONFIG is on by default, even on Windows

* \[[#347](https://github.com/AcademySoftwareFoundation/Imath/pull/347)\]
Export Imath from the build tree and so on.

* \[[#344](https://github.com/AcademySoftwareFoundation/Imath/pull/344)\]
rm unnecessary IMATH_HOSTDEVICE attributes.

* \[[#342](https://github.com/AcademySoftwareFoundation/Imath/pull/342)\]
Add missing copyright/license identifiers

* \[[#341](https://github.com/AcademySoftwareFoundation/Imath/pull/341)\]
Remove unnecessary files

* \[[#340](https://github.com/AcademySoftwareFoundation/Imath/pull/340)\]
Fix calling default constructor by uniform init.

* \[[#339](https://github.com/AcademySoftwareFoundation/Imath/pull/339)\]
Update and simply SO versioning policy

* \[[#338](https://github.com/AcademySoftwareFoundation/Imath/pull/338)\]
Rename "docs" to "website"

* \[[#333](https://github.com/AcademySoftwareFoundation/Imath/pull/333)\]
Expand epsilon bounds for m44x pyImath test

* \[[#331](https://github.com/AcademySoftwareFoundation/Imath/pull/331)\]
Fixed redundant PYIMATH_EXPORTS causing compile issues on Windows Clang

* \[[#326](https://github.com/AcademySoftwareFoundation/Imath/pull/326)\]
Use security@openexr.com for consistency

* \[[#320](https://github.com/AcademySoftwareFoundation/Imath/pull/320)\]
Add missing IMATH_HOSTDEVICE to Matrix33<T>::invert(bool)
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.

2 participants