Pass diagnostic settings to Gradle from Xcode
- Dominant language
- No language data
- Stars
- 94
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Address and thread sanitizer needs to recompile the application to be able to use them. Since Xcode delegate to Gradle, those information needs to be propagated to Gradle to configure the right compiler arguments. For both of those diagnostic settings, Xcode uses the build settings `ENABLE_THREAD_SANITIZER` and `ENABLE_ADDRESS_SANITIZER`. Either they exist and are set to `YES` to be enabled or just don't exist (they could also be set to `NO` to be reflective).
* Address sanitizer
* clang: `-fsanitize=address`
* swiftc: `-sanitize=address`
* Thread sanitizer
* clang: `-fsanitize=thread`
* swiftc: `-sanitize=thread`
Contributor guide
Research direction
Start by tracing how Xcode delegates builds to Gradle and where the ENABLE_ADDRESS_SANITIZER and ENABLE_THREAD_SANITIZER settings can be read. Verify how compiler arguments are assembled for clang and swiftc. Done means enabled settings propagate the corresponding address or thread sanitizer flags to both compilers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, swift
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100