aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2008-07-14 00:24:35 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2008-07-14 00:24:35 +0000
commit0de5137b9679fe34bb8e772a2d4772c5646a8bff (patch)
treefe90d13d43d1cc8753cb5bebb0bae56146882084
parentf49e46d831f6f30c42e1580c33fa50abe1f5c7fa (diff)
downloadgcc-0de5137b9679fe34bb8e772a2d4772c5646a8bff.zip
gcc-0de5137b9679fe34bb8e772a2d4772c5646a8bff.tar.gz
gcc-0de5137b9679fe34bb8e772a2d4772c5646a8bff.tar.bz2
re PR target/35492 (ICE building kernel sk_stream_wait_connect output_operand: invalid operand for 'p' modifier)
PR target/35492 * gcc.c-torture/compile/pr35492.c: New test. From-SVN: r137766
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr35492.c26
2 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0b1bc97..2f20e5b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-14 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/35492
+ * gcc.c-torture/compile/pr35492.c: New test.
+
2008-06-22 Daniel Kraft <d@domob.eu>
* gfortran.dg/used_types_21.f90: New test.
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr35492.c b/gcc/testsuite/gcc.c-torture/compile/pr35492.c
new file mode 100644
index 0000000..a1681f0
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr35492.c
@@ -0,0 +1,26 @@
+void prepare_to_wait (void *, void *, int);
+void finish_wait (void *, void *);
+extern signed long schedule_timeout (signed long);
+struct sock
+{
+ unsigned char skc_state;
+ void *sk_sleep;
+ int sk_err;
+};
+
+void
+sk_stream_wait_connect (struct sock *sk, long *timeo_p)
+{
+ int done;
+ int wait;
+ do
+ {
+ if ((1 << sk->skc_state) & ~12)
+ return;
+ prepare_to_wait (sk->sk_sleep, &wait, 1);
+ *(timeo_p) = schedule_timeout (0);
+ done = !sk->sk_err;
+ finish_wait (sk->sk_sleep, &wait);
+ }
+ while (!done);
+}