@@ -76,13 +76,13 @@ do_test_call_varg (FILE *stream, const char *format, ...)
}
static void
-do_test_call_rarg (FILE *stream, const char *format, long double ld)
+do_test_call_rarg (FILE *stream, const char *format, long double ld, double d)
{
char *buffer = NULL;
char string[128];
printf ("%20s", "asprintf: ");
- asprintf (&buffer, format, ld);
+ asprintf (&buffer, format, ld, d);
if (buffer == NULL)
printf ("Error using asprintf\n");
else
@@ -93,24 +93,24 @@ do_test_call_rarg (FILE *stream, const char *format, long double ld)
printf ("\n");
printf ("%20s", "dprintf: ");
- dprintf (1, format, ld);
+ dprintf (1, format, ld, d);
printf ("\n");
printf ("%20s", "fprintf: ");
- fprintf (stdout, format, ld);
+ fprintf (stdout, format, ld, d);
printf ("\n");
printf ("%20s", "printf: ");
- printf (format, ld);
+ printf (format, ld, d);
printf ("\n");
printf ("%20s", "snprintf: ");
- snprintf (string, 127, format, ld);
+ snprintf (string, 127, format, ld, d);
printf ("%s", string);
printf ("\n");
printf ("%20s", "sprintf: ");
- sprintf (string, format, ld);
+ sprintf (string, format, ld, d);
printf ("%s", string);
printf ("\n");
}
@@ -119,14 +119,15 @@ static int
do_test (void)
{
long double ld = -1;
+ double d = -1;
/* Print in decimal notation. */
- do_test_call_rarg (stdout, "%.60Lf", ld);
- do_test_call_varg (stdout, "%.60Lf", ld);
+ do_test_call_rarg (stdout, "%.60Lf, %f", ld, d);
+ do_test_call_varg (stdout, "%.60Lf, %f", ld, d);
/* Print in hexadecimal notation. */
- do_test_call_rarg (stdout, "%.60La", ld);
- do_test_call_varg (stdout, "%.60La", ld);
+ do_test_call_rarg (stdout, "%.60La, %a", ld, d);
+ do_test_call_varg (stdout, "%.60La, %a", ld, d);
return 0;
}
@@ -30,30 +30,30 @@ ${test_program_prefix} \
> ${test_program_output} || status=1
cat <<'EOF' |
- asprintf: -1.000000000000000000000000000000000000000000000000000000000000
- dprintf: -1.000000000000000000000000000000000000000000000000000000000000
- fprintf: -1.000000000000000000000000000000000000000000000000000000000000
- printf: -1.000000000000000000000000000000000000000000000000000000000000
- snprintf: -1.000000000000000000000000000000000000000000000000000000000000
- sprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vasprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vdprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vfprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vsnprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vsprintf: -1.000000000000000000000000000000000000000000000000000000000000
- asprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- dprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- fprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- printf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- snprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- sprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vasprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vdprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vfprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vsnprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vsprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
+ asprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ dprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ fprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ printf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ snprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ sprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vasprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vdprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vfprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vsnprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vsprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ asprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ dprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ fprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ printf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ snprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ sprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vasprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vdprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vfprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vsnprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vsprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
EOF
cmp - ${test_program_output} > /dev/null 2>&1 ||
{
@@ -50,21 +50,22 @@ do_test_call_varg (FILE *stream, const wchar_t *format, ...)
}
static void
-do_test_call_rarg (FILE *stream, const wchar_t *format, long double ld)
+do_test_call_rarg (FILE *stream, const wchar_t *format, long double ld,
+ double d)
{
wchar_t string[128];
wprintf (L"%20Ls", L"fwprintf: ");
- fwprintf (stream, format, ld);
+ fwprintf (stream, format, ld, d);
wprintf (L"\n");
wprintf (L"%20Ls", L"swprintf: ");
- swprintf (string, 127, format, ld);
+ swprintf (string, 127, format, ld, d);
wprintf (L"%Ls", string);
wprintf (L"\n");
wprintf (L"%20Ls", L"wprintf: ");
- wprintf (format, ld);
+ wprintf (format, ld, d);
wprintf (L"\n");
}
@@ -72,14 +73,15 @@ static int
do_test (void)
{
long double ld = -1;
+ double d = -1;
/* Print in decimal notation. */
- do_test_call_rarg (stdout, L"%.60Lf", ld);
- do_test_call_varg (stdout, L"%.60Lf", ld);
+ do_test_call_rarg (stdout, L"%.60Lf, %f", ld, d);
+ do_test_call_varg (stdout, L"%.60Lf, %f", ld, d);
/* Print in hexadecimal notation. */
- do_test_call_rarg (stdout, L"%.60La", ld);
- do_test_call_varg (stdout, L"%.60La", ld);
+ do_test_call_rarg (stdout, L"%.60La, %a", ld, d);
+ do_test_call_varg (stdout, L"%.60La, %a", ld, d);
return 0;
}
@@ -30,18 +30,18 @@ ${test_program_prefix} \
> ${test_program_output} || status=1
cat <<'EOF' |
- fwprintf: -1.000000000000000000000000000000000000000000000000000000000000
- swprintf: -1.000000000000000000000000000000000000000000000000000000000000
- wprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vfwprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vswprintf: -1.000000000000000000000000000000000000000000000000000000000000
- vwprintf: -1.000000000000000000000000000000000000000000000000000000000000
- fwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- swprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- wprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vfwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vswprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
- vwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0
+ fwprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ swprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ wprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vfwprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vswprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ vwprintf: -1.000000000000000000000000000000000000000000000000000000000000, -1.000000
+ fwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ swprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ wprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vfwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vswprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
+ vwprintf: -0x1.000000000000000000000000000000000000000000000000000000000000p+0, -0x1p+0
EOF
cmp - ${test_program_output} > /dev/null 2>&1 ||
{