OSDN Git Service

2004-06-13 Eric Christopher <echristo@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / noncompile / 971104-1.c
1 typedef unsigned short          ushort;
2 struct sembuf {
3   ushort  sem_num;         
4   short   sem_op;          
5   short   sem_flg;         
6 };
7 union semun {
8   int val;                       
9   struct semid_ds *buf;          
10   ushort *array;                 
11   struct seminfo *__buf;         
12   void *__pad;
13 };
14 static union semun semctl_arg;
15 static int semid;
16 static void up(int sem){
17   struct sembuf sb;
18   sb.sem_num = (unsigned short) sem;
19   sb.sem_op  = 1;         
20   sb.sem_flg = 0x1000 ;  
21   if(semop(semid, &sb, 1) == -1) error("up failure");
22   if(semctl(semid, sb.sem_num, 12 , semctl_arg) == 0)
23     printf("%s had processes sleeping on it!\n",
24     ({ "MUTEX     ", "BARB_SEM 1", "BARB_SEM 2", "CUST_SEM 1",
25        "CUST_SEM 2", "WAIT_SEM 1", "WAIT_SEM 2", "WAIT_SEM 3",
26        "WAIT_SEM 4"}     /* { dg-error "(parse|syntax) error" } */
27         [( sb.sem_num )]) );
28 }