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.
+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.
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