repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
opt
/
ice1.C
blob
701897166f51936588f3401e8a5aafdd1df14772
1
// PR c++/43024
2
// { dg-options "-O2" }
3
4
void foo();
5
6
template<int> struct X
7
{
8
enum { e };
9
typedef int Y;
10
};
11
12
template<int N = 0> struct A
13
{
14
~A() { foo(); }
15
A() { a<0>(0); }
16
template<int> void a(typename X<!X<N>::e>::Y);
17
struct B b();
18
};
19
20
struct B
21
{
22
A<> b0, b1, b2, b3;
23
B operator+ (const B&);
24
};
25
26
struct C
27
{
28
A<> c0, c1, c2, c3, c4, c5, c6, c7, c8;
29
};
30
31
inline void bar(int i)
32
{
33
A<> a0, a1;
34
if (i) a0.b() + a0.b() + a0.b() + a0.b();
35
}
36
37
void baz()
38
{
39
C c;
40
bar(0);
41
}