gradle / gradle/gradle-native

Pass diagnostic settings to Gradle from Xcode

Open
#79 0 comments 0 reactions 0 assignees View on GitHub
a:feature in: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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.