From 3cb170588c9b180fb4d28af04e44ac87481560a7 Mon Sep 17 00:00:00 2001 From: jistone Date: Fri, 17 Aug 2007 01:54:28 +0000 Subject: 2007-08-16 Josh Stone PR 4591 * parse.cxx (parser::parse_symbol): Tweak 'print' matching to allow all the new variants with printd and println. * staptree.h (struct print_format): Add fields for the new print variants, and parse_print() to help matching. * staptree.cxx (print_format::parse_print): New static method to match the print variants and determine their properties. (print_format::print): Handle the new print types. (deep_copy_visitor::visit_print_format): Copy the new fields. * translate.cxx (c_unparser::visit_print_format): Insert delims and newlines where appropriate for new print functions. * stap1.in: Document the new print functions. testsuite/ * lib/stap_run.exp: Make sure to match the entire output, in case there are multiple pass/fail messages. * buildok/printf.stp: Add lines for new print variants. * parseko/printd01.stp: Make sure that bad printd calls are handled. * parseko/printd02.stp: Ditto. * parseko/printd03.stp: Ditto. * parseko/printd04.stp: Ditto. * systemtap.base/print.stp: Try a bunch of different print calls. * systemtap.base/print.exp: Driver for above. --- testsuite/buildok/printf.stp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'testsuite/buildok/printf.stp') diff --git a/testsuite/buildok/printf.stp b/testsuite/buildok/printf.stp index badea63a..481892a2 100755 --- a/testsuite/buildok/printf.stp +++ b/testsuite/buildok/printf.stp @@ -26,9 +26,19 @@ probe begin sprintf("%s before %s", sprint(1), sprint(3)), sprint("C")) - printf("\"quote\\this\"\n") - printf("%d is %03o in octal\n", 9, 9) - printf("%d is %#X in hex\n", 255, 255) - printf("print unsigned %u\n", 17) - printf("-% d is % d\n", 9, -9) + printf("\"quote\\this\"\n") + printf("%d is %03o in octal\n", 9, 9) + printf("%d is %#X in hex\n", 255, 255) + printf("print unsigned %u\n", 17) + printf("-% d is % d\n", 9, -9) + + print(1, "two", 3, "four") + print(sprint(1, "two", 3, "four")) + println(1, "two", 3, "four") + print(sprintln(1, "two", 3, "four")) + + printd(", ", 1, "two", 3, "four") + print(sprintd(", ", 1, "two", 3, "four")) + printdln(", ", 1, "two", 3, "four") + print(sprintdln(", ", 1, "two", 3, "four")) } -- cgit