comparison gcc/testsuite/g++.dg/opt/pr83187.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 // { dg-do compile { target c++11 } }
2 // { dg-additional-options "-O1 -Wno-pedantic" }
3 // PR c++/83187 ICE in get_alias_set due to canonical type confusion.
4
5 extern "C" {
6 double cos (double);
7 double sin (double);
8 }
9
10 template <typename> class COMPLEX;
11
12 template <>
13 struct COMPLEX<double>
14 {
15 COMPLEX(double r, double i);
16
17 __complex__ mem;
18 };
19
20 COMPLEX<double>::COMPLEX (double r, double i)
21 : mem {r, i} {}
22
23 typedef double dbl_t;
24
25 dbl_t var;
26
27 void foo (COMPLEX<double> *ptr)
28 {
29 const dbl_t unused = var;
30
31 *ptr = COMPLEX<double> (cos (var), sin (var));
32 }