Also bump Linux Clang baseline to 12.0.1 (was: Bump --enable-compiler-plugins Clang baseline?)
Stephan Bergmann
sbergman at redhat.com
Wed Feb 16 16:06:05 UTC 2022
On 15/02/2022 11:00, Stephan Bergmann wrote:
> On 11/02/2022 15:37, Stephan Bergmann wrote:
>> For another, as discussed in yesterday's ESC meeting,
>>
>>> + Any objections to make that also the general Linux Clang
>>> baseline?
>>> + no objections (all)
>>
>> we'll also bump the Linux Clang-w/o-loplugin baseline to 12.0.1 at
>> that point. (Otherwise, we would no longer have a Gerrit Jenkins
>> builder that builds against that baseline, potentially silently
>> breaking master for people who still use that baseline. That way, we
>> will potentially silently break libreoffice-7-2 and libreoffice-7-3
>> for people who still use those branches' baselines, though; but
>> chances of actual breakage should be relatively low.)
>
> Ach, and then there's Android, which I keep forgetting about.
>
> All our Gerrit Jenkins Android builds (aarch64, arm, x86, x86_64) appear
> to be done with Clang 8.0.7 (e.g.,
> <https://ci.libreoffice.org/job/gerrit_android_aarch64/14741/> "checking
> whether Clang is new enough... yes (8.0.7)"). Cloph, is that correct?
>
> So what we could do is bump the Linux (incl. Android) w/o-loplugin
> baseline from 5.0.2 to 8.0.7 (and only bump the with-loplugin baseline
> to 12.0.1). That way, we would still have Gerrit Jenkins builds that
> build against the baseline (even though only on Android), to catch
> problems with Gerrit changes that would no longer build against the
> baseline.
>
> For that, we would presumably need to bump master README.md
>
>> * Android:
>> * Build: NDK r19c and SDK 22.6.2
>
> to whatever NDK and SDK combination would provide at least Clang 8.0.7.
> Would anybody see any problems with such an Android baseline bump? And
> could anybody (Cloph?) please provide the details what the new baseline
> versions in README.md should be (maybe the versions that are actually
> used on the Jenkins machines)?
Though, taking another look at this, LLVM never released a "Clang
8.0.7", so it's a bit unclear to me what that would be exactly. There
only ever was LLVM/Clang 8.0.1, according to <https://releases.llvm.org/>.
If I download
<https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip>
(the version referenced in our README.md),
> $ android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --version
> Android (5058415 based on r339409) clang version 8.0.2 (https://android.googlesource.com/toolchain/clang 40173bab62ec746213857d083c0e8b0abb568790) (https://android.googlesource.com/toolchain/llvm 7a6618d69e7e8111e1d49dc9e7813767c5ca756a) (based on LLVM 8.0.2svn)
[...]
and if I download
<https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip>,
> $ android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --version
> Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
[...]
so:
* It looks like those Android Clang builds have their own versioning
scheme different from the upstream LLVM/Clang scheme.
* Our current Android baseline Clang (from NDK r19c, reporting "clang
version 8.0.2") is hopefully new enough that it actually is on-par or
even beyond an upstream LLVM/Clang 8.0.1.
With that, my suggestion would now be to bump the Linux (incl. Android)
w/o-loplugin baseline to 8.0.1 (rather than that oddball 8.0.7), and
keep the Android build baseline as-is at "NDK r19c and SDK 22.6.2"
(whose Clang reports 8.0.2 and would thus pass the bumped 8.0.1 check in
configure.ac, at least nominally, and hopefully also functionality-wise).
More information about the LibreOffice
mailing list