AcademySoftwareFoundation / AcademySoftwareFoundation/openexr

AppleClang compiler warning with C++17

Open
#1,785 0 comments 1 reaction 0 assignees View on GitHub
needs attention
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.