OSDN Git Service

Work around clang-tidy bug in dex_builder.cc.
authorChih-Hung Hsieh <chh@google.com>
Wed, 6 Feb 2019 01:08:30 +0000 (17:08 -0800)
committerChih-Hung Hsieh <chh@google.com>
Wed, 6 Feb 2019 01:11:05 +0000 (17:11 -0800)
Bug: 123880763
Test: build with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=*,-readability-*,
    -google-readability-*,-google-runtime-references,-cppcoreguidelines-*,
    -modernize-*,-llvm-*,-bugprone-narrowing-conversions,
    -misc-non-private-member-variables-in-classes,
    -misc-unused-parameters,-hicpp-*,-fuchsia-*

Change-Id: Ibf80f951ae2369a55570770febe8a1c4422181e1

startop/view_compiler/Android.bp
startop/view_compiler/dex_builder.cc

index 37caeb2..f5b4308 100644 (file)
@@ -58,8 +58,6 @@ cc_library_static {
         "util.cc",
         "layout_validation.cc",
     ],
-    // b/123880763, clang-tidy analyzer has segmentation fault with dex_builder.cc
-    tidy_checks: ["-clang-analyzer-*"],
     host_supported: true,
 }
 
index 4c1a0dc..6047e8c 100644 (file)
@@ -426,7 +426,7 @@ void MethodBuilder::EncodeInvoke(const Instruction& instruction, ::art::Instruct
     // Some of the registers don't fit in the four bit short form of the invoke
     // instruction, so we need to do an invoke/range. To do this, we need to
     // first move all the arguments into contiguous temporary registers.
-    std::array<Value, kMaxArgs> scratch{GetScratchRegisters<kMaxArgs>()};
+    std::array<Value, kMaxArgs> scratch = GetScratchRegisters<kMaxArgs>();
 
     const auto& prototype = dex_->GetPrototypeByMethodId(instruction.method_id());
     CHECK(prototype.has_value());