clang output
```
In file included from /usr/include/unicode/ucnv.h:52:
In file included from /usr/include/unicode/uenum.h:25:
/usr/include/unicode/localpointer.h:561:26: error: 'auto' not allowed in template parameter until C++17
561 | template
| ^~~~
In file included from u1.cpp:1:
In file included from /usr/include/unicode/ucnv.h:52:
/usr/include/unicode/uenum.h:69:69: error: value of type 'void (UEnumeration *)' is not implicitly convertible to 'int'
69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
| ^~~~~~~~~~~
/usr/include/unicode/urename.h:947:21: note: expanded from macro 'uenum_close'
947 | #define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:123:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
123 | # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:122:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
122 | # define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:121:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
121 | # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
| ^~~~~~
:100:1: note: expanded from here
100 | uenum_close_75
| ^~~~~~~~~~~~~~
/usr/include/unicode/localpointer.h:551:68: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER'
551 | using LocalPointerClassName = internal::LocalOpenPointer
| ^~~~~~~~~~~~~
In file included from u1.cpp:1:
/usr/include/unicode/ucnv.h:597:65: error: value of type 'void (UConverter *)' is not implicitly convertible to 'int'
597 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close);
| ^~~~~~~~~~
/usr/include/unicode/urename.h:638:20: note: expanded from macro 'ucnv_close'
638 | #define ucnv_close U_ICU_ENTRY_POINT_RENAME(ucnv_close)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:123:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
123 | # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:122:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
122 | # define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/uvernum.h:121:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
121 | # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
| ^~~~~~
:117:1: note: expanded from here
117 | ucnv_close_75
| ^~~~~~~~~~~~~
/usr/include/unicode/localpointer.h:551:68: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER'
551 | using LocalPointerClassName = internal::LocalOpenPointer
| ^~~~~~~~~~~~~
3 errors generated.
```
Compile with
clang++ -std=c++14
clang output
``` In file included from /usr/include/unicode/ucnv.h:52: In file included from /usr/include/unicode/uenum.h:25: /usr/include/unicode/localpointer.h:561:26: error: 'auto' not allowed in template parameter until C++17 561 | templategcc gives similar output