structMOZ_TRIVIAL_CTOR_DTORBadNonEmptyCtorDtor{// expected-error {{class 'BadNonEmptyCtorDtor' must have trivial constructors and destructors}}
BadNonEmptyCtorDtor(){foo();}
~BadNonEmptyCtorDtor(){foo();}
};
structNonTrivialCtor{
NonTrivialCtor(){foo();}
};
structNonTrivialDtor{
~NonTrivialDtor(){foo();}
};
structVirtualMember{
virtualvoidf();
};
structMOZ_TRIVIAL_CTOR_DTORBadNonTrivialCtorInBase:NonTrivialCtor{// expected-error {{class 'BadNonTrivialCtorInBase' must have trivial constructors and destructors}}
};
structMOZ_TRIVIAL_CTOR_DTORBadNonTrivialDtorInBase:NonTrivialDtor{// expected-error {{class 'BadNonTrivialDtorInBase' must have trivial constructors and destructors}}
};
structMOZ_TRIVIAL_CTOR_DTORBadNonTrivialCtorInMember{// expected-error {{class 'BadNonTrivialCtorInMember' must have trivial constructors and destructors}}
NonTrivialCtorm;
};
structMOZ_TRIVIAL_CTOR_DTORBadNonTrivialDtorInMember{// expected-error {{class 'BadNonTrivialDtorInMember' must have trivial constructors and destructors}}