diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/torture/pr37146-1.C')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/g++.dg/torture/pr37146-1.C | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/torture/pr37146-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/torture/pr37146-1.C deleted file mode 100644 index ea65226f1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/torture/pr37146-1.C +++ /dev/null @@ -1,83 +0,0 @@ -// PR c++/37146 -// { dg-do run } - -extern "C" void abort (); -int a, b; -struct A { int i:8; int j:8; int k:16; int l:32; } c; - -void -f1 (int x, int y) -{ - (x ? a : b) = y; -} - -void -f2 (int x, int y) -{ - (x ? c.i : c.j) = y; -} - -void -f3 (int x, int y) -{ - (x ? c.i : a) = y; -} - -void -f4 (int x, int y) -{ - (x ? c.i : c.k) = y; -} - -void -f5 (int x, int y) -{ - (x ? c.l : b) = y; -} - -#define CHECK(var, exp) \ - do \ - { \ - if (var != exp) \ - abort (); \ - var = -1; \ - if (a != -1 \ - || b != -1 \ - || c.i != -1 \ - || c.j != -1 \ - || c.k != -1 \ - || c.l != -1) \ - abort (); \ - } \ - while (0) - -int -main () -{ - a = -1; - b = -1; - c.i = -1; - c.j = -1; - c.k = -1; - c.l = -1; - f1 (1, 264); - CHECK (a, 264); - f1 (0, 264); - CHECK (b, 264); - f2 (1, 112); - CHECK (c.i, 112); - f2 (0, 112); - CHECK (c.j, 112); - f3 (1, 26); - CHECK (c.i, 26); - f3 (0, 26); - CHECK (a, 26); - f4 (1, 107); - CHECK (c.i, 107); - f4 (0, 107); - CHECK (c.k, 107); - f5 (1, 95); - CHECK (c.l, 95); - f5 (0, 95); - CHECK (b, 95); -} |