Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/torture/pr37146-2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// 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; int f1 (int x) { return x ? a : b; } int f2 (int x) { return x ? c.i : c.j; } int f3 (int x) { return x ? c.i : a; } int f4 (int x) { return x ? c.i : c.k; } int f5 (int x) { return x ? c.l : b; } int main () { a = 17; b = 18; c.i = 19; c.j = 20; c.k = 21; c.l = 22; if (f1 (1) != a) abort (); if (f1 (0) != b) abort (); if (f2 (1) != c.i) abort (); if (f2 (0) != c.j) abort (); if (f3 (1) != c.i) abort (); if (f3 (0) != a) abort (); if (f4 (1) != c.i) abort (); if (f4 (0) != c.k) abort (); if (f5 (1) != c.l) abort (); if (f5 (0) != b) abort (); }