Fix gdb.base/savedregs.exp with clang
authorGary Benson <gbenson@redhat.com>
Mon, 13 Jul 2020 15:01:00 +0000 (16:01 +0100)
committerGary Benson <gbenson@redhat.com>
Mon, 13 Jul 2020 15:01:00 +0000 (16:01 +0100)
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.

gdb/testsuite/ChangeLog:

* gdb.base/savedregs.exp (caller): Use parentheses to
make expected expression evaluation ordering explicit.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/savedregs.c

index 8fa0a46c9e004a2451b1ea21a624562d2f021cca..dec5a44307dd2d863c850056d00050ad8aa19f23 100644 (file)
@@ -1,3 +1,8 @@
+2020-07-13  Gary Benson <gbenson@redhat.com>
+
+       * gdb.base/savedregs.exp (caller): Use parentheses to
+       make expected expression evaluation ordering explicit.
+
 2020-07-13  Gary Benson <gbenson@redhat.com>
 
        * gdb.arch/i386-sse.c (have_sse) <edx>: Make unsigned.
index 05fba5061562b6d58f87fe73b65a38ad1c607ec3..aec2a38f7f82ae306ac741a5606fe191e3b815e4 100644 (file)
@@ -33,7 +33,7 @@ callee (int param)
 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