OSDN Git Service

* g++.dg/init/new1.C, g++.dg/template/alignof1.C,
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / compile / 941014-3.c
1 typedef unsigned char byte;
2 typedef unsigned int uint;
3 typedef unsigned long ulong;
4 typedef ulong gs_char;
5 typedef struct gs_show_enum_s gs_show_enum;
6 typedef struct gs_font_s gs_font;
7 typedef struct gx_font_stack_item_s {
8   gs_font *font;
9 } gx_font_stack_item;
10 typedef struct gx_font_stack_s {
11   gx_font_stack_item items[1 + 5 ];
12 } gx_font_stack;
13 struct gs_show_enum_s {
14   gx_font_stack fstack;
15 };
16 typedef enum {
17   ft_composite = 0,
18 } font_type;
19 struct gs_font_s {
20   font_type FontType;
21 };
22 typedef enum {
23   fmap_escape = 3,
24   fmap_shift = 8
25   } fmap_type;
26 typedef struct gs_type0_data_s {
27   fmap_type FMapType;
28 } gs_type0_data;
29 gs_type0_next_char(register gs_show_enum *penum)
30 {
31   const byte *p;
32   int fdepth;
33   gs_font *pfont;
34   gs_type0_data *pdata;
35   uint fidx;
36   gs_char chr;
37   for (; pfont->FontType == ft_composite; )
38     {
39       fmap_type fmt;
40       switch ( fmt )
41         {
42           do {} while (0);
43         rdown:
44           continue;
45         case fmap_shift:
46           p++;
47           do {} while (0);
48           goto rdown;
49         }
50       break;
51     }
52  up:
53   while ( fdepth > 0 )
54     {
55       switch ( pdata->FMapType )
56         {
57         default:
58           continue;
59         case fmap_escape:
60           fidx = *++p;
61           do {} while (0);
62           if ( fidx == chr && fdepth > 1 )
63             goto up;
64         down:
65           fdepth--;
66           do {} while (0);
67         }
68       break;
69     }
70   while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )
71     ;
72 }