diff options
author | Romain Naour <romain.naour@gmail.com> | 2023-05-02 14:21:55 +0200 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2023-05-02 22:25:29 +0800 |
commit | 87c347c2897537a6aa391efbfc5ed00c625434fe (patch) | |
tree | 9e52dda28707f481595ab6bae14f59365ed38aef | |
parent | 9a9840cedbdc8be8252fd8f2d31d8fbd36632a2e (diff) | |
download | gcc-87c347c2897537a6aa391efbfc5ed00c625434fe.zip gcc-87c347c2897537a6aa391efbfc5ed00c625434fe.tar.gz gcc-87c347c2897537a6aa391efbfc5ed00c625434fe.tar.bz2 |
RISC-V: fix build issue with gcc 4.9.x
GCC should still build with GCC 4.8.3 or newer [1]
using C++03 by default. But a recent change in
RISC-V port introduced a C++11 feature "std::log2" [2].
Use log2 from the C header, without the namespace [3].
[1] https://gcc.gnu.org/install/prerequisites.html
[2] https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=7caa1ae5e451e780fbc4746a54e3f19d4f4304dc
[3] https://stackoverflow.com/questions/26733413/error-log2-is-not-a-member-of-std
Fixes:
https://gitlab.com/buildroot.org/toolchains-builder/-/jobs/4202276589
gcc/ChangeLog:
* config/riscv/genrvv-type-indexer.cc: Use log2 from the C header, without
the namespace.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
-rw-r--r-- | gcc/config/riscv/genrvv-type-indexer.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/riscv/genrvv-type-indexer.cc b/gcc/config/riscv/genrvv-type-indexer.cc index e677b55..eebe382 100644 --- a/gcc/config/riscv/genrvv-type-indexer.cc +++ b/gcc/config/riscv/genrvv-type-indexer.cc @@ -115,9 +115,9 @@ same_ratio_eew_type (unsigned sew, int lmul_log2, unsigned eew, bool unsigned_p, if (sew == eew) elmul_log2 = lmul_log2; else if (sew > eew) - elmul_log2 = lmul_log2 - std::log2 (sew / eew); + elmul_log2 = lmul_log2 - log2 (sew / eew); else /* sew < eew */ - elmul_log2 = lmul_log2 + std::log2 (eew / sew); + elmul_log2 = lmul_log2 + log2 (eew / sew); if (float_p) return floattype (eew, elmul_log2); |