]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/gcc.c-torture/execute/20000223-1.c
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20000223-1.c
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000223-1.c b/gcc/testsuite/gcc.c-torture/execute/20000223-1.c
deleted file mode 100644 (file)
index db6180b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   Contributed by Nathan Sidwell 23 Feb 2000 <nathan@codesourcery.com> */
-
-/* __alignof__ should never return a non-power of 2
-   eg, sizeof(long double) might be 12, but that means it must be alignable
-   on a 4 byte boundary. */
-
-void check (char const *type, int align)
-{
-  if ((align & -align) != align)
-    {
-      abort ();
-    }
-}
-
-#define QUOTE_(s) #s
-#define QUOTE(s) QUOTE_(s)
-
-#define check(t) check(QUOTE(t), __alignof__(t))
-
-// This struct should have an alignment of the lcm of all the types. If one of
-// the base alignments is not a power of two, then A cannot be power of two
-// aligned.
-struct A
-{
-  char c;
-  signed short ss;
-  unsigned short us;
-  signed int si;
-  unsigned int ui;
-  signed long sl;
-  unsigned long ul;
-  signed long long sll;
-  unsigned long long ull;
-  float f;
-  double d;
-  long double ld;
-  void *dp;
-  void (*fp)();
-};
-
-int main ()
-{
-  check (void);
-  check (char);
-  check (signed short);
-  check (unsigned short);
-  check (signed int);
-  check (unsigned int);
-  check (signed long);
-  check (unsigned long);
-  check (signed long long);
-  check (unsigned long long);
-  check (float);
-  check (double);
-  check (long double);
-  check (void *);
-  check (void (*)());
-  check (struct A);
-  return 0;
-}