URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
/* Test for a bug with passing __float80 in varargs. The __float80
|
/* Test for a bug with passing __float80 in varargs. The __float80
|
value was wrongly passed, leading to an abort. */
|
value was wrongly passed, leading to an abort. */
|
/* Origin: Joseph Myers <joseph@codesourcery.com> */
|
/* Origin: Joseph Myers <joseph@codesourcery.com> */
|
/* { dg-do run } */
|
/* { dg-do run } */
|
/* { dg-options "" } */
|
/* { dg-options "" } */
|
|
|
#include <stdarg.h>
|
#include <stdarg.h>
|
|
|
extern void abort (void);
|
extern void abort (void);
|
extern void exit (int);
|
extern void exit (int);
|
|
|
__float80 s = 1.234L;
|
__float80 s = 1.234L;
|
__float80 d;
|
__float80 d;
|
|
|
void vf (int a0, ...);
|
void vf (int a0, ...);
|
|
|
int
|
int
|
main (void)
|
main (void)
|
{
|
{
|
vf (0, s);
|
vf (0, s);
|
if (d != s)
|
if (d != s)
|
abort ();
|
abort ();
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
void
|
void
|
vf (int a0, ...)
|
vf (int a0, ...)
|
{
|
{
|
va_list ap;
|
va_list ap;
|
va_start (ap, a0);
|
va_start (ap, a0);
|
d = va_arg (ap, __float80);
|
d = va_arg (ap, __float80);
|
va_end (ap);
|
va_end (ap);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.