summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
blob: 4fce9363753ea330d5196330987c919f05d7617f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// { dg-do run  }
// g++ 1.37.1 bug 900520_04

// g++ does not yet support the initialization of scalar type objects
// (including built-in arithmetic types, enum types, and pointer types)
// via constructor initialization syntax except within a call to operator
// new.

// keywords: unimplemented, syntax, initialization, scalar types

enum e_type { e_value };

typedef char *charp;

charp cp;

int global_i (1);				// { dg-bogus "" } 
double global_d (9.9);				// { dg-bogus "" } 
charp global_cp0 (cp);				// { dg-bogus "" } 
charp global_cp1 (0);				// { dg-bogus "" } 
enum e_type global_e (e_value);			// { dg-bogus "" } 

void func0 ()
{
  int local_i (1);				// { dg-bogus "" } 
  double local_d (9.9);				// { dg-bogus "" } 
  charp local_cp0 (cp);				// { dg-bogus "" } 
  charp local_cp1 (0);				// { dg-bogus "" } 
  enum e_type local_e (e_value);		// { dg-bogus "" } 
}

void func1 ()
{
  int* ip = new int (1);			// { dg-bogus "" } 
  double* dp = new double (9.9);		// { dg-bogus "" } 
  charp* cpp0 = new charp (cp);			// { dg-bogus "" } 
  charp* cpp1 = new charp (0);			// { dg-bogus "" } 
  enum e_type* ep = new e_type (e_value);	// { dg-bogus "" } 
}

int main () { return 0; }