Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/powerpc/vfprintf.c')
-rw-r--r--newlib/libc/machine/powerpc/vfprintf.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/newlib/libc/machine/powerpc/vfprintf.c b/newlib/libc/machine/powerpc/vfprintf.c
index 1e2fe529b..0bb9d9f13 100644
--- a/newlib/libc/machine/powerpc/vfprintf.c
+++ b/newlib/libc/machine/powerpc/vfprintf.c
@@ -615,7 +615,13 @@ reswitch: switch (ch) {
goto reswitch;
#ifdef FLOATING_POINT
case 'L':
- flags &= ~VECTOR;
+#ifdef __ALTIVEC__
+ if (flags & VECTOR)
+ {
+ fmt = format_anchor;
+ continue;
+ }
+#endif /* __ALTIVEC__ */
flags |= LONGDBL;
goto rflag;
#endif
@@ -676,12 +682,12 @@ reswitch: switch (ch) {
if (flags & VECTOR)
{
int k;
+ vec_16_byte_union tmp;
if (flags & (SHORTINT | LONGINT))
{
fmt = format_anchor;
continue;
}
- vec_16_byte_union tmp;
tmp.v = va_arg(ap, vector int);
cp = buf;
for (k = 0; k < 15; ++k)
@@ -858,8 +864,14 @@ reswitch: switch (ch) {
break;
#endif /* FLOATING_POINT */
case 'n':
+#ifdef __ALTIVEC__
+ if (flags & VECTOR)
+ {
+ fmt = format_anchor;
+ continue;
+ }
+#endif /* __ALTIVEC__ */
#ifndef _NO_LONGLONG
- flags &= ~VECTOR;
if (flags & QUADINT)
*va_arg(ap, quad_t *) = ret;
else