aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c
new file mode 100644
index 000000000..e661c176a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20040130-1.c
@@ -0,0 +1,28 @@
+/* PR target/11475 */
+/* Origin: <heinrich.brand@fujitsu-siemens.com> */
+
+/* This used to fail on SPARC because of a broken pattern. */
+
+#pragma pack(2)
+
+struct
+{
+ unsigned char G936:7;
+ unsigned short G937:6;
+ unsigned int :4;
+ unsigned short :14;
+ unsigned int G938:8;
+#if __INT_MAX__ >= 2147483647L
+ unsigned int :30;
+#endif
+ unsigned short :16;
+#if __INT_MAX__ >= 2147483647L
+ unsigned int :18;
+#endif
+ unsigned short G939:9;
+} G928b;
+
+void TestG928(void)
+{
+ G928b.G936 |= G928b.G939;
+}