# Bug Report: Engine compilation fails on macOS due to strict implicit conversion warnings
## Environment
* **OS:** macOS 26.4.1 (Build 25E253)
* **Xcode:** 26.4 (Build 17E192)
* **Clang:** Apple clang version 21.0.0 (clang-2100.0.123.102)
* **UE:** Unreal Engine 5.7.4
## Steps to Reproduce
Execute the Unreal Build Tool script to compile an Engine program (such as `CrashReportClient` or `ShaderCompileWorker`) on macOS using the latest Xcode/Clang version:
```bash
./Engine/Build/BatchFiles/RunUBT.sh CrashReportClient Mac Development
```
## Expected Behavior
The Engine source code should compile successfully without any strict compiler warnings failing the build.
## Actual Behavior
The build fails because `-Werror` interacts with new implicit conversion warnings introduced in newer versions of Clang, promoting them to terminal errors. These warnings—specifically `-Wimplicit-int-float-conversion` and `-Wcharacter-conversion`—are not properly suppressed or mapped inside `CppCompileWarnings.cs`.
## Logs
```text
[1/47] Compile [Apple] Module.XmlParser.cpp
In file included from <WORKSPACE_ROOT>/Engine/Intermediate/Build/Mac/arm64/CrashReportClient/Development/XmlParser/Module.XmlParser.cpp:2:
In file included from <WORKSPACE_ROOT>/Engine/Source/Runtime/XmlParser/Private/FastXml.cpp:6:
In file included from <WORKSPACE_ROOT>/Engine/Source/Runtime/Core/Public/Misc/FeedbackContext.h:12:
In file included from <WORKSPACE_ROOT>/Engine/Source/Runtime/Core/Public/HAL/PlatformTime.h:7:
In file included from <WORKSPACE_ROOT>/Engine/Source/Runtime/Core/Public/Mac/MacPlatformTime.h:5:
<WORKSPACE_ROOT>/Engine/Source/Runtime/Core/Public/Apple/ApplePlatformTime.h:36:10: error: implicit conversion from ‘uint64’ (aka ‘unsigned long long’) to ‘double’ may lose precision [-Werror,-Wimplicit-int-float-conversion]
[2/47] Compile [Apple] Module.HTTP.cpp
In file included from <WORKSPACE_ROOT>/Engine/Intermediate/Build/Mac/arm64/CrashReportClient/Development/HTTP/Module.HTTP.cpp:14:
<WORKSPACE_ROOT>/Engine/Source/Runtime/Online/HTTP/Private/GenericPlatform/GenericPlatformHttp.cpp:401:31: error: implicit conversion from ‘const UTF8CHAR’ (aka ‘const char8_t’) to ‘TCHAR’ (aka ‘char16_t’) may change the meaning of the represented code unit [-Werror,-Wcharacter-conversion]
```
## Additional Context
Because `CrashReportClient` is an Engine program, it evaluates its own target file (`CrashReportClient.Target.cs`) and bypasses any project-level compiler overrides. The build relies entirely on the default UBT warning configuration, which currently does not suppress `-Werror=implicit-int-float-conversion` or `-Werror=character-conversion` on this Clang toolchain version.