aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c')
-rw-r--r--SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c b/SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c
new file mode 100644
index 00000000..425a8f6e
--- /dev/null
+++ b/SingleSource/Regression/C/gcc-c-torture/execute/20021010-2.c
@@ -0,0 +1,37 @@
+/* cse.c failure on x86 target.
+ Contributed by Stuart Hastings 10 Oct 2002 <stuart@apple.com> */
+#include <stdlib.h>
+
+typedef signed short SInt16;
+
+typedef struct {
+ SInt16 minx;
+ SInt16 maxx;
+ SInt16 miny;
+ SInt16 maxy;
+} IOGBounds;
+
+int expectedwidth = 50;
+
+unsigned int *global_vramPtr = (unsigned int *)0xa000;
+
+IOGBounds global_bounds = { 100, 150, 100, 150 };
+IOGBounds global_saveRect = { 75, 175, 75, 175 };
+
+main()
+{
+ unsigned int *vramPtr;
+ int width;
+ IOGBounds saveRect = global_saveRect;
+ IOGBounds bounds = global_bounds;
+
+ if (saveRect.minx < bounds.minx) saveRect.minx = bounds.minx;
+ if (saveRect.maxx > bounds.maxx) saveRect.maxx = bounds.maxx;
+
+ vramPtr = global_vramPtr + (saveRect.miny - bounds.miny) ;
+ width = saveRect.maxx - saveRect.minx;
+
+ if (width != expectedwidth)
+ abort ();
+ exit (0);
+}