2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / 941014-3.c
blob6dcb89395e3a966977331a103a14e8ed362af34b
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;
16 typedef enum {
17 ft_composite = 0,
18 } font_type;
19 struct gs_font_s {
20 font_type FontType;
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)
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; )
39 fmap_type fmt;
40 switch ( fmt )
42 do {} while (0);
43 rdown:
44 continue;
45 case fmap_shift:
46 p++;
47 do {} while (0);
48 goto rdown;
50 break;
52 up:
53 while ( fdepth > 0 )
55 switch ( pdata->FMapType )
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);
68 break;
70 while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )