From 241e70669b3fca3d1a1cc0c02dbc809844609f20 Mon Sep 17 00:00:00 2001 From: Alexander Markov Date: Thu, 22 Sep 2022 19:33:19 +0000 Subject: [PATCH] [vm] Fixes for gcc build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change fixes the following build errors when building Dart VM with gcc: ../../runtime/vm/compiler/assembler/assembler_arm64.h: In member function ‘uint32_t dart::compiler::Address::encoding(dart::compiler::OperandSize) const’: ../../runtime/vm/compiler/assembler/assembler_arm64.h:355:3: error: control reaches end of non-void function [-Werror=return-type] 355 | } ../../runtime/vm/compiler/assembler/assembler_arm64.cc: In member function ‘void dart::compiler::Assembler::PopNativeCalleeSavedRegisters()’: ../../runtime/vm/compiler/assembler/assembler_arm64.cc:2380:52: error: bitwise comparison always evaluates to false [-Werror=tautological-compare] 2380 | bool pop_single = (kAbiPreservedFpuRegCount & 1) == 1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~ ../../runtime/vm/compiler/assembler/assembler_arm64.cc:2400:47: error: bitwise comparison always evaluates to false [-Werror=tautological-compare] 2400 | pop_single = (kAbiPreservedCpuRegCount & 1) == 1; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~ TEST=ci Change-Id: Ib44790dbe99288f569a26e4df28f61ef2aa40ea3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260640 Reviewed-by: Ryan Macnak Commit-Queue: Alexander Markov --- runtime/vm/compiler/assembler/assembler_arm64.cc | 4 ++-- runtime/vm/compiler/assembler/assembler_arm64.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/vm/compiler/assembler/assembler_arm64.cc b/runtime/vm/compiler/assembler/assembler_arm64.cc index 38d0ada4664..759e52400b1 100644 --- a/runtime/vm/compiler/assembler/assembler_arm64.cc +++ b/runtime/vm/compiler/assembler/assembler_arm64.cc @@ -2377,7 +2377,7 @@ void Assembler::PushNativeCalleeSavedRegisters() { void Assembler::PopNativeCalleeSavedRegisters() { // Restore the bottom 64-bits of callee-saved V registers. - bool pop_single = (kAbiPreservedFpuRegCount & 1) == 1; + bool pop_single = (kAbiPreservedFpuRegCount & 1) != 0; VRegister vprev = kNoVRegister; for (int i = kAbiLastPreservedFpuReg; i >= kAbiFirstPreservedFpuReg; i--) { const VRegister r = static_cast(i); @@ -2397,7 +2397,7 @@ void Assembler::PopNativeCalleeSavedRegisters() { // register when it is not holding a pool-pointer since we are returning to // C++ code. We also skip the dart stack pointer SP, since we are still // using it as the stack pointer. - pop_single = (kAbiPreservedCpuRegCount & 1) == 1; + pop_single = (kAbiPreservedCpuRegCount & 1) != 0; Register prev = kNoRegister; for (int i = kAbiLastPreservedCpuReg; i >= kAbiFirstPreservedCpuReg; i--) { Register r = static_cast(i); diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h index 62f1e52ddc8..ab0075ddd31 100644 --- a/runtime/vm/compiler/assembler/assembler_arm64.h +++ b/runtime/vm/compiler/assembler/assembler_arm64.h @@ -351,6 +351,7 @@ class Address : public ValueObject { case Unknown: UNREACHABLE(); } + return 0; } AddressType type() const { return type_; }