diff gcc/testsuite/gcc.dg/packed-vla.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/packed-vla.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,32 @@
+/* PR middle-end/27945 */
+/* { dg-do run } */
+/* { dg-options "" } */
+/* { dg-require-effective-target alloca } */
+
+extern int printf (const char *, ...);
+extern void abort ();
+
+int func(int levels) 
+{
+  struct bar {
+    unsigned char	a;
+    int			b[levels];
+  } __attribute__ ((__packed__)) bar;
+
+  struct foo {
+    unsigned char	a;
+    int			b[4];
+  } __attribute__ ((__packed__)) foo;
+
+  printf("foo %d\n", sizeof(foo));
+  printf("bar %d\n", sizeof(bar));
+
+  if (sizeof (foo) != sizeof (bar))
+    abort ();
+}
+
+int main()
+{
+  func(4);
+  return 0;
+}