libm-test: Properly wrap blocks consisting of several statements.
Thomas Schwinge
thomas@codesourcery.com
Thu Mar 21 14:06:00 GMT 2013
Hi!
On Thu, 21 Mar 2013 13:05:57 +0100, Andreas Jaeger <aj@suse.com> wrote:
> On Thursday, March 21, 2013 11:25:27 Thomas Schwinge wrote:
> > In math/libm-test.inc, when doing things like the following:
> >
> > if (SNAN_TESTS (FLOAT))
> > TEST_f_f (gamma, snan_value, qnan_value, INVALID_EXCEPTION);
> >
> > ..., this is what appears in math/libm-test.c:
> >
> > if (SNAN_TESTS (FLOAT))
> > signgam = 0;
> > check_float ("gamma (sNaN) == qNaN", FUNC(gamma) (snan_value),
> > qnan_value, 0, 0, INVALID_EXCEPTION);
> >
> > ..., which is not quite what I intended.
> >
> > Is the collowing patch OK? I didn't bother with proper indentation of
> > the emitted statements, as the file is primarily meant for
> > consumption by the compiler only.
>
> Still, I would like to see proper intentation - as it's done already
> today.
Like this?
* math/gen-libm-test.pl (parse_args, special_functions): Properly
wrap blocks consisting of several statements.
diff --git math/gen-libm-test.pl math/gen-libm-test.pl
index 01e0fc2..f50f1d9 100755
--- math/gen-libm-test.pl
+++ math/gen-libm-test.pl
@@ -203,22 +203,24 @@ sub special_functions {
unless ($args[0] =~ /sincos/) {
die ("Don't know how to handle $args[0] extra.");
}
- print $file " FUNC (sincos) ($args[1], &sin_res, &cos_res);\n";
+ print $file " {\n";
+ print $file " FUNC (sincos) ($args[1], &sin_res, &cos_res);\n";
$str = 'sincos (' . &beautify ($args[1]) . ', &sin_res, &cos_res)';
# handle sin
$test = $str . ' puts ' . &beautify ($args[2]) . ' in sin_res';
- $cline = " check_float (\"$test\", sin_res, $args[2]";
+ $cline = " check_float (\"$test\", sin_res, $args[2]";
$cline .= &new_test ($test, $args[4]);
print $file $cline;
# handle cos
$test = $str . ' puts ' . &beautify ($args[3]) . ' in cos_res';
- $cline = " check_float (\"$test\", cos_res, $args[3]";
+ $cline = " check_float (\"$test\", cos_res, $args[3]";
# only tests once for exception
$cline .= &new_test ($test, undef);
print $file $cline;
+ print $file " }\n";
}
# Parse the arguments to TEST_x_y
@@ -398,11 +400,15 @@ sub parse_args {
}
}
- print $file $pre if (defined $pre);
-
- print $file " $cline";
-
- print $file $post if (defined $post);
+ if (defined $pre or defined $post) {
+ print $file " {\n";
+ print $file " $pre" if (defined $pre);
+ print $file " $cline";
+ print $file " $post" if (defined $post);
+ print $file " }\n";
+ } else {
+ print $file " $cline";
+ }
}
# Generate libm-test.c
Grüße,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20130321/41d55b60/attachment.sig>
More information about the Libc-alpha
mailing list