* c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
gdb/testsuite
* gdb.base/charset.exp: Add regression test.
+2009-04-15 Tom Tromey <tromey@redhat.com>
+
+ * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
+
2009-04-15 Eli Zaretskii <eliz@gnu.org>
* utils.c (parse_escape): Initialize target_char to pacify GCC.
*pos += 2;
if (noside == EVAL_SKIP)
- return NULL;
+ {
+ /* Return a dummy value of the appropriate type. */
+ if ((dest_type & C_CHAR) != 0)
+ result = allocate_value (type);
+ else
+ result = value_typed_string ("", 0, type);
+ do_cleanups (cleanup);
+ return result;
+ }
if ((dest_type & C_CHAR) != 0)
{
+2009-04-15 Tom Tromey <tromey@redhat.com>
+
+ * gdb.base/charset.exp: Add regression test.
+
2009-04-14 Joel Brobecker <brobecker@adacore.com>
* gdb.base/exe-lock.exp: New testcase.
test_combination u UCS-2 U UCS-4
}
+# Regression test for a cleanup bug in the charset code.
+gdb_test "print 'a' == 'a' || 'b' == 'b'" \
+ ".* = 1" \
+ "EVAL_SKIP cleanup handling regression test"
+
gdb_exit