mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 10:47:29 +08:00
ffs-1.c: New test.
* gcc.c-torture/execute/ffs-1.c: New test. * gcc.c-torture/execute/ffs-2.c: Ditto. From-SVN: r57671
This commit is contained in:
parent
7e76567593
commit
e3e3815b7f
@ -1,3 +1,8 @@
|
||||
2002-09-30 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* gcc.c-torture/execute/ffs-1.c: New test.
|
||||
* gcc.c-torture/execute/ffs-2.c: Ditto.
|
||||
|
||||
2002-09-30 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* g++.dg/overload/member1.C: New test.
|
||||
|
12
gcc/testsuite/gcc.c-torture/execute/ffs-1.c
Normal file
12
gcc/testsuite/gcc.c-torture/execute/ffs-1.c
Normal file
@ -0,0 +1,12 @@
|
||||
__volatile int a = 0;
|
||||
|
||||
extern void abort (void);
|
||||
extern void exit (int);
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
if (__builtin_ffs (a) != 0)
|
||||
abort ();
|
||||
exit (0);
|
||||
}
|
44
gcc/testsuite/gcc.c-torture/execute/ffs-2.c
Normal file
44
gcc/testsuite/gcc.c-torture/execute/ffs-2.c
Normal file
@ -0,0 +1,44 @@
|
||||
struct
|
||||
{
|
||||
int input;
|
||||
int output;
|
||||
}
|
||||
ffstesttab[] =
|
||||
{
|
||||
#if __INT_MAX__ >= 2147483647
|
||||
/* at least 32-bit integers */
|
||||
{ 0x80000000, 32 },
|
||||
{ 0xa5a5a5a5, 1 },
|
||||
{ 0x5a5a5a5a, 2 },
|
||||
{ 0xcafe0000, 18 },
|
||||
#endif
|
||||
#if __INT_MAX__ >= 32767
|
||||
/* at least 16-bit integers */
|
||||
{ 0x8000, 16 },
|
||||
{ 0xa5a5, 1 },
|
||||
{ 0x5a5a, 2 },
|
||||
{ 0x0ca0, 6 },
|
||||
#endif
|
||||
#if __INT_MAX__ < 32767
|
||||
#error integers are too small
|
||||
#endif
|
||||
};
|
||||
|
||||
#define NFFSTESTS (sizeof (ffstesttab) / sizeof (ffstesttab[0]))
|
||||
|
||||
extern void abort (void);
|
||||
extern void exit (int);
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < NFFSTESTS; i++)
|
||||
{
|
||||
if (__builtin_ffs (ffstesttab[i].input) != ffstesttab[i].output)
|
||||
abort ();
|
||||
}
|
||||
|
||||
exit (0);
|
||||
}
|
Loading…
Reference in New Issue
Block a user