LLVM90 build failures on Android build environment

In file included from external/llvm/lib/Support/Signals.cpp:220:
external/llvm/lib/Support/Unix/Signals.inc:388:23: error: no matching constructor for initialization of ‘SaveAndRestore’
SaveAndRestore SaveErrnoDuringASignalHandler(errno);
^ ~~~~~
external/llvm/lib/Support/…/…/include/llvm/Support/SaveAndRestore.h:21:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from ‘volatile int’ to ‘const llvm::SaveAndRestore’ for 1st argument
template struct SaveAndRestore {
^
external/llvm/lib/Support/…/…/include/llvm/Support/SaveAndRestore.h:22:3: note: candidate constructor not viable: 1st argument (‘volatile int’) would lose volatile qualifier
SaveAndRestore(T &X) : X(X), OldValue(X) {}
^
external/llvm/lib/Support/…/…/include/llvm/Support/SaveAndRestore.h:23:3: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SaveAndRestore(T &X, const T &NewValue) : X(X), OldValue(X) {
^