AcademySoftwareFoundation / AcademySoftwareFoundation/openexr
AppleClang compiler warning with C++17
- Dominant language
- C
- Stars
- 1.8k
- Forks
- 700
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 29
Description
Apparently `codecvt_utf8` has been [deprecated in C++17](https://en.cppreference.com/w/cpp/header/codecvt):
```
[ 82%] Building CXX object extern/openexr/src/lib/OpenEXR/CMakeFiles/OpenEXR.dir/ImfMisc.cpp.o
/Users/pablode/Work/gatling/extern/openexr/src/lib/OpenEXR/ImfMisc.cpp:1990:31: warning: 'codecvt_utf8' is deprecated [-Wdeprecated-declarations]
std::wstring_convert, wchar_t> converter;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/codecvt:187:28: note: 'codecvt_utf8' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/__config:1037:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
# define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/__config:1010:49: note: expanded from macro '_LIBCPP_DEPRECATED'
# define _LIBCPP_DEPRECATED __attribute__((__deprecated__))
^
/Users/pablode/Work/gatling/extern/openexr/src/lib/OpenEXR/ImfMisc.cpp:1990:10: warning: 'wstring_convert>' is deprecated [-Wdeprecated-declarations]
std::wstring_convert, wchar_t> converter;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/locale:3598:28: note: 'wstring_convert>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/__config:1037:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
# define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/c++/v1/__config:1010:49: note: expanded from macro '_LIBCPP_DEPRECATED'
# define _LIBCPP_DEPRECATED __attribute__((__deprecated__))
^
2 warnings generated.
```
Contributor guide
Research direction
Start in extern/openexr/src/lib/OpenEXR/ImfMisc.cpp around line 1990, where the AppleClang C++17 warnings identify deprecated codecvt_utf8 and wstring_convert usage. Review the surrounding conversion code and the CMake C++17 build configuration, then verify that an OpenEXR build with AppleClang no longer emits these warnings without changing the conversion behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100