Not supported C/C++ functionality
The following files have contents that are not supported by the IAR C/C++ Compiler:
threads.h,barrier,condition_variable,future,latch,mutex,semaphore,shared_mutex,stop_token,sync_stream,thread,cthreadsfilesystemexecutionchrono(steady_clock)
Some library functions will have the same address. This occurs, most notably, when the library function parameters differ in type but not in size, as for example, cos(double) and cosl(long double).
The IAR C/C++ Compiler does not support threads as described in the C18 and C++20 standards. However, using DLib_Threads.h and an RTOS, you can build an application with thread support. For more information, see Managing a multithreaded environment.
By default, the Libc++ library does not support features removed in C++17 and C++20, such as auto_ptr(), auto_ptr_ref(), random_shuffle, set_unexpected(), get_unexpected(), unary_function(), binary_function(), const_mem_fun(), const_mem_fun_ref_t(), uncaught_exception, not1, not2, unary_negate, binary_negate, result_type, argument_type, first_argument_type, second_argument_type, raw_memory_iterator, get_temporary_buffer, return_temporary_buffer, is_literal_type, result_of, the member shared_ptr::unique, and allocator members pointer, const_pointer, reference, const_reference, rebind, address, construct, destroy.
To enable support for C++14 and C++17 features removed in C++17 and C++20, respectively, define the preprocessor symbols _LIBCPP_ENABLE_CXX17_REMOVED_FEATURES and _LIBCPP_ENABLE_CXX20_REMOVED_FEATURES prior to including the relevant system header.