aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C
blob: 25686f80049c7fcb07ef07045bff64f04fad05e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do assemble  }
// g++ 1.37.1 bug 900405_01

// The C++ Reference Manual says (in section 5.4) "Types may not be defined
// in casts."

// g++ fails to flag errors for cases where an attempt is made to define
// a struct, class, union, or enum type within a cast.

// keywords: casts, type definitions, tagged types

void f ()
{
  (enum e { red, green } *) 0;		// { dg-error "" } type defined in cast
  (struct s { int member; } *) 0;	// { dg-error "" } type defined in cast
  (union u { int member; } * ) 0;	// { dg-error "" } type defined in cast
  (class c { int member; } *) 0;	// { dg-error "" } type defined in cast
}

int main () { return 0; }