Merge lp://qastaging/~afrantzis/mir/fix-clang-sbuild into lp://qastaging/mir
Status: | Merged |
---|---|
Approved by: | Alan Griffiths |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3338 |
Proposed branch: | lp://qastaging/~afrantzis/mir/fix-clang-sbuild |
Merge into: | lp://qastaging/mir |
Diff against target: |
42 lines (+2/-12) 2 files modified
examples/CMakeLists.txt (+1/-12) tests/mir_test_doubles/mock_x11.cpp (+1/-0) |
To merge this branch: | bzr merge lp://qastaging/~afrantzis/mir/fix-clang-sbuild |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Approve | |
Alan Griffiths | Approve | ||
Review via email: mp+287149@code.qastaging.launchpad.net |
Commit message
Fix clang under CI sbuild
Description of the change
Fix clang under CI sbuild
This MP:
1. Removes the alternative/clang version of Clients-
2. Explicitly initializes the button field in the XEvent button event. For some reason, possibly a compiler problem or incompatibility, the XEvent unions in mtd::FakeX11Res
For completeness, I will mention a third issue that I had to work around in the build job:
3. clang seems to handle 'extern inline' in a way that seems to be incompatible with the pthread headers in vivid, leading to multiple definitions of pthread_equal. We work around this problem in the build job by building with -fno-inline.
The 3rd issue you mention sounds a bit like the ODR issues Chris encountered in lp:~raof/mir/fix-and-enable-lto/+merge/282133.
But, while it would be nice to have the Clients- only-use- client- ABI test run with clang one day, these changes don't break anything and having a clang sbuild is a big pro.