aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/eval.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0a8bee8..ea055da 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-10 Ulrich Weigand  <uweigand@de.ibm.com>
+
+ * eval.c (evaluate_subexp_standard): Work around GCC bug 63748.
+
2014-11-07 Pedro Alves <palves@redhat.com>
* infrun.c (process_event_stop_test) <subroutine check>: Don't
diff --git a/gdb/eval.c b/gdb/eval.c
index c49f7b6..655ea22 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -1696,8 +1696,6 @@ evaluate_subexp_standard (struct type *expect_type,
do_call_it:
- if (noside == EVAL_SKIP)
- goto nosideret;
if (argvec[0] == NULL)
error (_("Cannot evaluate function -- may be inlined"));
if (noside == EVAL_AVOID_SIDE_EFFECTS)
@@ -1804,6 +1802,8 @@ evaluate_subexp_standard (struct type *expect_type,
for (; tem <= nargs; tem++)
argvec[tem] = evaluate_subexp_with_coercion (exp, pos, noside);
argvec[tem] = 0; /* signal end of arglist */
+ if (noside == EVAL_SKIP)
+ goto nosideret;
goto do_call_it;
default: