mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
Make the literal argument to pow a double, not an integer
Since pow takes doubles, pass 2.0 instead of 2 to pow (). Conveniently, this fixes the ambiguous call to pow on Solaris 11 with gcc 5.5 (gcc211 on the compile farm), which has a "using std::pow" directive in a system header, which brings in float/double/long double overloads. Fixes the build on Solaris with enable-targets=all. gdb/ChangeLog: 2019-12-19 Christian Biesinger <cbiesinger@google.com> * score-tdep.c (score7_analyze_prologue): Pass 2.0 instead of 2 to pow (). Change-Id: Ib18e7e4749ddcbff0727b72a31198f8cb84d1993
This commit is contained in:
parent
1cd4a20a27
commit
d411762c45
@ -1,3 +1,8 @@
|
||||
2019-12-19 Christian Biesinger <cbiesinger@google.com>
|
||||
|
||||
* score-tdep.c (score7_analyze_prologue): Pass 2.0 instead of
|
||||
2 to pow ().
|
||||
|
||||
2019-12-19 Christian Biesinger <cbiesinger@google.com>
|
||||
|
||||
* tui/tui-source.c (tui_source_window::set_contents): Cast argument of
|
||||
|
@ -918,13 +918,15 @@ score7_analyze_prologue (CORE_ADDR startaddr, CORE_ADDR pc,
|
||||
&& G_FLD (inst->v, 2, 0) == 0x0)
|
||||
{
|
||||
/* subei! r0, n */
|
||||
sp_offset += (int) pow (2, G_FLD (inst->v, 6, 3));
|
||||
sp_offset += (int) pow (2.0, G_FLD (inst->v, 6, 3));
|
||||
}
|
||||
else if (G_FLD (inst->v, 14, 7) == 0xc0
|
||||
&& G_FLD (inst->v, 2, 0) == 0x0)
|
||||
{
|
||||
/* addei! r0, n */
|
||||
sp_offset -= (int) pow (2, G_FLD (inst->v, 6, 3));
|
||||
/* Solaris 11+gcc 5.5 has ambiguous overloads of pow, so we
|
||||
pass 2.0 instead of 2 to get the right one. */
|
||||
sp_offset -= (int) pow (2.0, G_FLD (inst->v, 6, 3));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user