annotate gcc/testsuite/g++.old-deja/g++.jason/static1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do run }
kono
parents:
diff changeset
2 // PRMS id: 6863
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern "C" int printf(const char *, ...);
kono
parents:
diff changeset
5 extern "C" void abort();
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 enum ENUM {E1=0, E2 };
kono
parents:
diff changeset
8 int d;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 class AAA{
kono
parents:
diff changeset
11 public:
kono
parents:
diff changeset
12 AAA() {a = new char[10];printf("constructor AAA() called\n");}
kono
parents:
diff changeset
13 AAA(int) {printf("constructor AAA(int) called\n");}
kono
parents:
diff changeset
14 ~AAA(){ printf("destructor ~AAA() called\n"); d = 1; }
kono
parents:
diff changeset
15 operator int () { return 1;}
kono
parents:
diff changeset
16 char *a;
kono
parents:
diff changeset
17 int i;
kono
parents:
diff changeset
18 };
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 struct sentinel {
kono
parents:
diff changeset
21 ~sentinel () { if (d == 0) abort (); }
kono
parents:
diff changeset
22 } s;
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 /* forward decl here causes gcc not to execute ct and dt for arr1 */
kono
parents:
diff changeset
25 extern AAA arr1[];
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 AAA arr1[] = {(int)E1 };
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 int main()
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 return 0;
kono
parents:
diff changeset
32 }