aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c
new file mode 100644
index 000000000..9aa40b8a0
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20031011-1.c
@@ -0,0 +1,31 @@
+/* Check that MAX_EXPR and MIN_EXPR are working properly. */
+
+#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
+#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
+
+extern void abort (void);
+
+int main()
+{
+ int ll_bitsize, ll_bitpos;
+ int rl_bitsize, rl_bitpos;
+ int end_bit;
+
+ ll_bitpos = 32; ll_bitsize = 32;
+ rl_bitpos = 0; rl_bitsize = 32;
+
+ end_bit = MAX (ll_bitpos + ll_bitsize, rl_bitpos + rl_bitsize);
+ if (end_bit != 64)
+ abort ();
+ end_bit = MAX (rl_bitpos + rl_bitsize, ll_bitpos + ll_bitsize);
+ if (end_bit != 64)
+ abort ();
+ end_bit = MIN (ll_bitpos + ll_bitsize, rl_bitpos + rl_bitsize);
+ if (end_bit != 32)
+ abort ();
+ end_bit = MIN (rl_bitpos + rl_bitsize, ll_bitpos + ll_bitsize);
+ if (end_bit != 32)
+ abort ();
+ return 0;
+}
+