2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / pr64037.C
blobe5cd0e2ee17850c8504f32185516ac79c4382a75
1 // { dg-do run { target i?86-*-* x86_64-*-* } }
2 // { dg-options "-std=c++11 -Os" }
4 enum class X : unsigned char {
5   V = 2,
6 };
8 static void
9 __attribute__((noinline,noclone))
10 foo(unsigned &out, unsigned a, X b)
12   out = static_cast<unsigned>(b);
15 int main()
17   unsigned deadbeef = 0xDEADBEEF;
18   asm volatile ("" : "+d" (deadbeef), "+c" (deadbeef));
20   unsigned out;
21   foo(out, 2, X::V);
23   if (out != 2)
24     __builtin_abort ();
26   return 0;