1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// XFAIL: *
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef const int T0;
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef int& T1;
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct s0 {
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable const int f0; // expected-error{{'mutable' and 'const' cannot be mixed}}
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable T0 f1; // expected-error{{'mutable' and 'const' cannot be mixed}}
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable int &f2; // expected-error{{'mutable' cannot be applied to references}}
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable T1 f3; // expected-error{{'mutable' cannot be applied to references}}
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable struct s1 {}; // expected-error{{'mutable' cannot be applied to non-data members}}
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  mutable void im0(); // expected-error{{'mutable' cannot be applied to functions}}
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
15