[OB PATCH] Fix gdb.base/savedregs.exp with clang

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OB PATCH] Fix gdb.base/savedregs.exp with clang

Sourceware - gdb-patches mailing list
Hi again,

gdb.base/savedregs.exp fails to run with clang, because of:

 gdb compile failed, /gdbtest/src/gdb/testsuite/gdb.base/savedregs.c:36:37:
       warning: operator '<<' has lower precedence than '+'; '+' will be
       evaluated first [-Wshift-op-parentheses]
   return callee (a1 << a2 * a3 / a4 + a6 & a6 % a7 - a8) + done;
                     ~~ ~~~~~~~~~~~~~^~~~
 /gdbtest/build/gdb/testsuite/gdb.base/savedregs.c:36:37: note: place
       parentheses around the '+' expression to silence this warning
   return callee (a1 << a2 * a3 / a4 + a6 & a6 % a7 - a8) + done;
                                     ^
                        (                )
 1 warning generated.

This commit fixes it by adding the suggested parentheses.

Checked on Fedora 31 x86_64, GCC and clang, pushed as obvious.

Cheers,
Gary

--
gdb/testsuite/ChangeLog:

        * gdb.base/savedregs.exp (caller): Use parentheses to
        make expected expression evaluation ordering explicit.
---
 gdb/testsuite/ChangeLog            | 5 +++++
 gdb/testsuite/gdb.base/savedregs.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/savedregs.c b/gdb/testsuite/gdb.base/savedregs.c
index 05fba50..aec2a38 100644
--- a/gdb/testsuite/gdb.base/savedregs.c
+++ b/gdb/testsuite/gdb.base/savedregs.c
@@ -33,7 +33,7 @@
 extern int
 caller (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8)
 {
-  return callee (a1 << a2 * a3 / a4 + a6 & a6 % a7 - a8) + done;
+  return callee ((a1 << a2 * a3 / a4) + a6 & a6 % a7 - a8) + done;
 }
 
 static void
--
1.8.3.1