mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-28 06:26:12 -04:00
49 lines
845 B
C
49 lines
845 B
C
$NetBSD$
|
|
|
|
--- gcc/testsuite/gcc.dg/tree-prof/pr44777.c.orig Wed May 21 19:48:58 2014
|
|
+++ gcc/testsuite/gcc.dg/tree-prof/pr44777.c
|
|
@@ -0,0 +1,43 @@
|
|
+/* PR middle-end/44777 */
|
|
+/* { dg-options "-O0" } */
|
|
+/* A variant of gcc.c-torture/execute/comp-goto-2.c. */
|
|
+
|
|
+extern void abort (void);
|
|
+extern void exit (int);
|
|
+
|
|
+#ifdef STACK_SIZE
|
|
+#define DEPTH ((STACK_SIZE) / 512 + 1)
|
|
+#else
|
|
+#define DEPTH 1000
|
|
+#endif
|
|
+
|
|
+#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
|
+int
|
|
+x (int a)
|
|
+{
|
|
+ __label__ xlab;
|
|
+ void y (int a)
|
|
+ {
|
|
+ void *x = &&llab;
|
|
+ if (a==-1)
|
|
+ goto *x;
|
|
+ if (a==0)
|
|
+ goto xlab;
|
|
+ llab:
|
|
+ y (a-1);
|
|
+ }
|
|
+ y (a);
|
|
+ xlab:;
|
|
+ return a;
|
|
+}
|
|
+#endif
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
|
+ if (x (DEPTH) != DEPTH)
|
|
+ abort ();
|
|
+#endif
|
|
+ exit (0);
|
|
+}
|