1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00
freebsd-ports/graphics/freeimage
Dimitry Andric 6a58ef80a1 graphics/freeimage: fix build with clang 16
Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because graphics/freeimage's Makefile does not explicitly set its C++
standard, this leads to several errors:

  In file included from Source/FreeImage/PluginEXR.cpp:33:
  In file included from Source/FreeImage/../OpenEXR/IlmImf/ImfOutputFile.h:46:
  In file included from Source/OpenEXR/IlmImf/ImfHeader.h:51:
  Source/OpenEXR/Imath/ImathVec.h:228:34: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
      const Vec2 &        normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Source/OpenEXR/Imath/ImathVec.h:228:34: note: use 'noexcept(false)' instead
      const Vec2 &        normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                          noexcept(false)
  Source/OpenEXR/Imath/ImathVec.h:232:37: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
      Vec2<T>             normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Source/OpenEXR/Imath/ImathVec.h:232:37: note: use 'noexcept(false)' instead
      Vec2<T>             normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                 noexcept(false)

Because these constructs are no longer available in C++17, add
USE_CXXSTD=gnu++14 to compile for C++14 with GNU extensions instead.

PR:		271493
Approved by:	portmgr (build fix blanket)
MFH:		2023Q2
2023-05-18 23:35:52 +02:00
..
files
distinfo
Makefile
pkg-descr