aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c129
1 files changed, 129 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c
new file mode 100644
index 000000000..09bf43040
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/980408-1.c
@@ -0,0 +1,129 @@
+typedef struct _RunlengthPacket
+{
+ unsigned short
+ red,
+ green,
+ blue,
+ length;
+ unsigned short
+ index;
+} RunlengthPacket;
+typedef struct _Image
+{
+ int
+ status,
+ temporary;
+ char
+ filename[1664 ];
+ long int
+ filesize;
+ int
+ pipe;
+ char
+ magick[1664 ],
+ *comments,
+ *label,
+ *text;
+ unsigned int
+ matte;
+ unsigned int
+ columns,
+ rows,
+ depth;
+ unsigned int
+ scene,
+ number_scenes;
+ char
+ *montage,
+ *directory;
+ unsigned int
+ colors;
+ double
+ gamma;
+ float
+ x_resolution,
+ y_resolution;
+ unsigned int
+ mean_error_per_pixel;
+ double
+ normalized_mean_error,
+ normalized_maximum_error;
+ unsigned long
+ total_colors;
+ char
+ *signature;
+ unsigned int
+ packets,
+ runlength,
+ packet_size;
+ unsigned char
+ *packed_pixels;
+ long int
+ magick_time;
+ char
+ magick_filename[1664 ];
+ unsigned int
+ magick_columns,
+ magick_rows;
+ char
+ *geometry,
+ *page;
+ unsigned int
+ dispose,
+ delay,
+ iterations;
+ unsigned int
+ orphan;
+ struct _Image
+ *previous,
+ *list,
+ *next;
+} Image;
+ Image *MinifyImage(Image *image)
+{
+ Image
+ *minified_image;
+ register RunlengthPacket
+ *q,
+ *s,
+ *s0,
+ *s1,
+ *s2,
+ *s3;
+ register unsigned int
+ x;
+ unsigned int
+ blue,
+ green,
+ red;
+ unsigned long
+ total_matte,
+ total_blue,
+ total_green,
+ total_red;
+ unsigned short
+ index;
+ for (x=0; x < (image->columns-1); x+=2)
+ {
+ total_red=0;
+ total_green=0;
+ total_blue=0;
+ total_matte=0;
+ s=s0;
+ total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
+ s=s1;
+ total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
+ s=s2;
+ total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
+ s=s3;
+ total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
+ red=(unsigned short) ((total_red+63) >> 7);
+ green=(unsigned short) ((total_green+63) >> 7);
+ blue=(unsigned short) ((total_blue+63) >> 7);
+ index=(unsigned short) ((total_matte+63) >> 7);
+ if ((red == q->red) && (green == q->green) && (blue == q->blue) &&
+ (index == q->index) && ((int) q->length < 65535L ))
+ q->length++;
+ }
+ return(minified_image);
+}