summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/typedef5.C
blob: f9e71479c7f9fc4116108e3d7118f56125e3b337 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// { dg-do assemble  }

// by Alexandre Oliva <oliva@dcc.unicamp.br>

typedef int t;
typedef t* u;
typedef u v;
typedef v* (*w)(t);
typedef int t;
typedef t* u;
typedef u v;
typedef v* (*w)(t const); // this is ok
typedef v* (*w)(t); // { dg-error "" } covers message `previously declared here'
typedef v* (*const w)(t); // { dg-error "" } invalid redeclaration
typedef v const* (*w)(t); // { dg-error "" } invalid redeclaration
typedef v* const (*w)(t); // { dg-error "" } invalid redeclaration