blob: 318a047cb70f19b25af389b4306cd6d229e16bc4 [file] [log] [blame]
// PR c++/82414
// { dg-lto-do link }
enum vals {aa,cc}; // { dg-lto-warning "6: type 'vals' violates the C\\+\\+ One Definition Rule" }
// { dg-lto-note "name 'cc' differs from name 'bb' defined in another translation unit" "" { target *-*-* } .-1 }
struct a { // { dg-lto-warning "8: type 'struct a' violates the C\\+\\+ One Definition Rule" }
struct b *ptr; // { dg-lto-note "13: the first difference of corresponding definitions is field 'ptr'" }
// { dg-lto-note "the incompatible type defined in another translation unit" "" { target *-*-* } .-1 }
enum vals vals;
};
void test(struct a *a)
{
a->vals = cc;
}