* gcc.dg/enum1.c: New test.
From-SVN: r52815
This commit is contained in:
parent
b446a5f169
commit
51ccaeb904
@ -1,3 +1,7 @@
|
||||
2002-04-26 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* gcc.dg/enum1.c: New test.
|
||||
|
||||
2002-04-26 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/6497
|
||||
|
@ -9,7 +9,7 @@ enum foo
|
||||
foo3 = 0xf0fffffffffffffeULL
|
||||
};
|
||||
|
||||
int main (int i)
|
||||
int main ()
|
||||
{
|
||||
if (sizeof (enum foo) != sizeof (unsigned long long))
|
||||
std::abort ();
|
||||
|
23
gcc/testsuite/gcc.dg/enum1.c
Normal file
23
gcc/testsuite/gcc.dg/enum1.c
Normal file
@ -0,0 +1,23 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-std=gnu89" } */
|
||||
|
||||
/* In standard C, enumeration constants always have type int. If they
|
||||
are not representables are int, they're ill-formed. In GNU C, we
|
||||
give such ill-formed constructs well-defined meaning. Make sure it
|
||||
works. */
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
enum foo
|
||||
{
|
||||
foo1 = 0,
|
||||
foo2 = 0xffffffffffffffffULL,
|
||||
foo3 = 0xf0fffffffffffffeULL
|
||||
};
|
||||
|
||||
int main ()
|
||||
{
|
||||
if (sizeof (enum foo) != sizeof (unsigned long long))
|
||||
abort ();
|
||||
exit (0);
|
||||
}
|
Loading…
Reference in New Issue
Block a user