call `fflush' after every `printf', so that the output is produced
at predictable points, regardless of whatever buffering does (or
doesn't) take place.
* gdb.base/ending-run.exp: Adjust tests to expect output to appear
at different points.
+2002-01-21 Jim Blandy <jimb@redhat.com>
+
+ * gdb.base/ending-run.c (main): Avoid messing with setvbuf; just
+ call `fflush' after every `printf', so that the output is produced
+ at predictable points, regardless of whatever buffering does (or
+ doesn't) take place.
+ * gdb.base/ending-run.exp: Adjust tests to expect output to appear
+ at different points.
+
2002-01-20 Daniel Jacobowitz <drow@mvista.com>
* gdb.c++/inherit.exp: Update copyright years.
int i;
p = (int *) malloc( 4 );
- setvbuf (stdout, alloca (64), _IOLBF, 64);
+
for (i = 1; i < 10; i++)
{
printf( "%d ", callee( i ));
-
+ fflush (stdout);
}
- printf( " Goodbye!\n" );
+ printf( " Goodbye!\n" ); fflush (stdout);
return 0;
}
# See if we can step out with control. The "1 2 3" stuff
# is output from the program.
#
-gdb_test "cont" ".*Breakpoint.*31.*"
+gdb_test "cont" ".*1 2 7 14 23 34 47 62 79.*Breakpoint.*31.*"
if ![gdb_skip_stdio_test "Step to return"] {
- gdb_test "next" ".*1 2 7 14 23 34 47 62 79 Goodbye!.*32.*" \
+ gdb_test "next" ".*Goodbye!.*32.*" \
"Step to return"
} else {
gdb_test "next" "" ""