aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c b/gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c
new file mode 100644
index 000000000..ffaf353e3
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/20040305-2.c
@@ -0,0 +1,49 @@
+/* PR target/14262 */
+/* { dg-do run } */
+
+extern void abort (void);
+
+typedef char ACS;
+typedef char LSM;
+typedef char PANEL;
+typedef char DRIVE;
+typedef struct {
+ ACS acs;
+ LSM lsm;
+} LSMID;
+typedef struct {
+ LSMID lsm_id;
+ PANEL panel;
+} PANELID;
+typedef struct {
+ PANELID panel_id;
+ DRIVE drive;
+} DRIVEID;
+
+void sub (DRIVEID driveid)
+{
+ if (driveid.drive != 1)
+ abort ();
+ if (driveid.panel_id.panel != 2)
+ abort ();
+ if (driveid.panel_id.lsm_id.lsm != 3)
+ abort ();
+ if (driveid.panel_id.lsm_id.acs != 4)
+ abort ();
+}
+
+int main(void)
+{
+ DRIVEID driveid;
+
+ driveid.drive = 1;
+ driveid.panel_id.panel = 2;
+ driveid.panel_id.lsm_id.lsm = 3;
+ driveid.panel_id.lsm_id.acs = 4;
+
+ sub(driveid);
+
+ return 0;
+}
+
+