summaryrefslogtreecommitdiff
path: root/gcc/gcc-3.3.3/pr9365-1-test.patch
blob: ee7dfa7c1955d6d5d1736b108ed867fbbbe431eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
--- /dev/null	Sat Dec 14 13:56:51 2002
+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr9365-1.c	Sun Sep 14 09:34:37 2003
@@ -0,0 +1,40 @@
+/* PR target/9365
+ * Origin: marcus@mc.pp.se
+ * Testcase tweaked by dank@kegel.com
+ * [3.3 regression] [SH] segfault in gen_far_branch (config/sh/sh.c)
+ * ice-on-valid-code
+ * Not marked as xfail since it's a regression
+*/
+/* { dg-do compile } */
+/* { dg-options "-O2 -fomit-frame-pointer" } */
+
+
+void foo(int n, int *p)
+{
+	switch(n) {
+	case 100: case 110: case 120: case 130: case 140:
+	case 200: case 210: case 220: case 230: case 240:
+	case 300: case 310: case 320: case 330: case 340:
+	case 400: case 410: case 420: case 430: case 440:
+	case 500: case 510: case 520: case 530: case 540:
+	case 600: case 610: case 620: case 630: case 640:
+	case 700: case 710: case 720: case 730: case 740:
+	case 800: case 810: case 820: case 830: case 840:
+	case 900: case 910: case 920: case 930: case 940:
+		break;
+	default:
+		*p = n;
+		break;
+	}
+}
+
+int main(int argc, char **argv)
+{
+	int p;
+
+	(void) argv;
+
+	foo(argc, &p);
+
+	return p;
+}