Merge 'master' of https://git.linaro.org/arm/vixl

- Merged commits:
  e1a0c55c Add a missing CLEANUP in the disasm tests.
  ab84aab4 Cope with collisions in a negative PAuth test.
  13cb52c6 Fix a simple typing error.
  32ceac27 Disable clang-tidy mrand48 checks.
  26384722 Fix stringop-truncation GCC9 warning.
  713116bf Clean MemOperand.
  1d925c01 Add some more substantial benchmarks.
  eb2af7fe Make the benchmarks run for a predictable time.
  5523f6cf Configure a basic .clang-tidy.
  fa6cee0e Remove TEARDOWN.
  89eefefc Added script to run clang-tidy on VIXL sources
  631ad386 Remove the 'shell' argument from getstatusoutput.
  f89cb485 Factor out get_source_files in the tools.
  88e1d03d Report skipped tests in the results.
  4ba4913f Support --disassemble in TRACE tests.
  a5b3cefd Allow throwing exceptions from destructors for testing.
  eee00de3 Add AHP == 0 to AssertSupportedFPCR.
  0576dc4c Fix CPURegList::IncludesAliasOf(int).
  2fb52cbe Only assume baseline features if InferFromOS fails.
  7b712bec Fix VRegister::IsFPRegister().
  cf93ad51 Remove the old FPRegister type alias.
  ceab416b Execute tests when required features are available.
  d98968ab Fix MaskAddresses to support AOSP toybox sed
  6af2cf40 Split assembler tests
  48934329 Implement CPUFeatures::InferFromOS for Linux.
  0447181a Add support for FRINT{32,64}{x,z} variants.
  b6f6e635 Import the VERSIONS.md file to master.
  cff5a2ea Silence -Wmissing-noreturn.
  9c4ba7a5 Add support for compiler caches
  f2986e15 Refactoring of tools/test.py
  7b4df2bf Disable -O3 to compile the tests in release mode.
  b5f72396 Add option to regroup tests execution at the end.
  2f5df9e8 [test][aarch32] Add ${isa_guard} to the negative test template.
  1c13091c [test] Skip running load_pauth_negative_test natively.
  518bd7ec Update the CPUFeatures tests.
  18c97bde Add support for UDF.
  af0ca0a8 Fix warnings on Clang 8.
  dddf02db Fix BTI support for PACIXSP
  a1bc22a1 Fix error reporting with ASSERT_NOT_EQUAL_64.
  2f762bd8 Trivial comment fix near SystemRegister.
  f59d45e4 Translate Sshll(2)/Ushll(2) to shll(2) if shift equal to element size.
  881cc382 Fix "Orr <wsp>, <wn> #<non encodable immediate>" crashes.
  e24a6f42 Split more tests to speed up test.py
  37abcf22 Change some tests to speed up test.py
  4a6b62c4 Make Fmov(Register, VRegister, index) accept index = 0.
  b1713685 Fix supported instruction generator script.
  04edf680 Add support for random number generation.
  7e3a5c85 Fix instruction decoder for BFI
  684f5f7f Add support for DC CVADP instruction.
  91fea40c Rewrite the AArch64 decoder using a tree structure.
  7fcd70d4 Fix the C++11 runtime calls test.
  311edf27 Add support for STLR/LDAPR unscaled offset variants.
  84ee144e Add support for AXFLAG and XAFLAG instructions.
  2487f14e Add support for flag manipulation instructions.
  3f89bf17 Add support for unaligned atomics
  0bdf5ed6 Fix intermittent PAuth simulation failures.
  7560559a Add support for Load/Store PAC instructions.
  cb963f7b Add support for BTI.
  8f36e7f6 Add support for the FHM extension.
  385eb903 Add support for DCPoP (CVAP).
  4482be77 Extend CPUFeatures to support Armv8.4.

- Android.bp is updated according to the merge.
- GetScratchVRegisterList is removed from aarch64/macro-assembler-aarch64.h because the
  upstream version is used.
- No impact on code sizes of arm/boot.oat and arm64/boot.oat.

Test: mma test-art-host-vixl
Test: test.py --host --optimizing --jit --gtest
Test: test.py --target --optimizing --jit
Test: run-gtests.sh
Bug: 144490441
Change-Id: I74c7f455479d8a96eacb755b358e8f244fe05f5d
diff --git a/Android.bp b/Android.bp
index 55ef972..8346942 100644
--- a/Android.bp
+++ b/Android.bp
@@ -69,13 +69,21 @@
         "-fdiagnostics-show-option",
         "-Wredundant-decls",
         "-Wunreachable-code",
-        "-Wmissing-noreturn",
         "-pedantic",
 
         // Explicitly enable the write-strings warning. VIXL uses
         // const correctly when handling string constants.
         "-Wwrite-strings",
 
+        // Explicitly disable 'missing-return' warnings because a lot of them are false positive.
+        // VIXL often creates stubs and compile-time configurations with things like
+        // VIXL_UNIMPLEMENTED(). Properly satisfying -Wmissing-noreturn requires that functions are
+        // annotated at their _declarations_, which means #ifdefs in header files.
+        // Conditional compilation in headers can result in incorrect behaviour when
+        // libvixl.so is built with different flags than the code using it. Disabling this
+        // warning allows VIXL to simplify the headers, and should make VIXL more robust.
+        "-Wno-missing-noreturn",
+
         "-DVIXL_CODE_BUFFER_MALLOC",
     ],
     native_coverage: false,