/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <sal/types.h>
#defineVOIDvoid
class Class1
{
SAL_CALL Class1() {} // expected-error {{SAL_CALL unnecessary here [loplugin:salcall]}}
SAL_CALL ~Class1() {} // expected-error {{SAL_CALL unnecessary here [loplugin:salcall]}}
SAL_CALL operatorint() // expected-error {{SAL_CALL unnecessary here [loplugin:salcall]}}
{ return 0;
}
void SAL_CALL method1(); // expected-error {{SAL_CALL unnecessary here [loplugin:salcall]}} VOID method2() {} // no SAL_CALL for above method2, even though "SAL_CALL" appears between definition of VOID and // the declaration's name, "method2"
}; void SAL_CALL Class1::method1()
{ // expected-error@-1 {{SAL_CALL unnecessary here [loplugin:salcall]}}
}
// comment this out because it seems to generate a warning in some internal buffer of clang that I can't annotate #if 0 // no warning, this appears to be legal class Class3
{ void SAL_CALL method1(); // expected-error {{SAL_CALL unnecessary here [loplugin:salcall]}}
}; void Class3::method1() {} #endif
// no warning, normal case for reference class Class4
{ void method1();
}; void Class4::method1() {}
class Class5_1
{ virtualvoid method1(); // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}} virtual ~Class5_1();
}; class Class5_2
{ virtualvoid SAL_CALL method1(); virtual ~Class5_2();
}; class Class5_3 : public Class5_1, public Class5_2
{ virtualvoid SAL_CALL
method1() override; // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}} virtual ~Class5_3();
};
class Class6_1
{ virtualvoid SAL_CALL method1(); virtual ~Class6_1();
}; class Class6_2
{ virtualvoid SAL_CALL method1(); virtual ~Class6_2();
}; class Class6_3 : public Class6_1, public Class6_2
{ virtualvoid SAL_CALL method1() override; virtual ~Class6_3();
};
class Class7_1
{ virtualvoid method1(); virtual ~Class7_1();
}; class Class7_2
{ virtualvoid method1(); virtual ~Class7_2();
}; class Class7_3 : public Class7_1, public Class7_2
{ virtualvoid method1() override; virtual ~Class7_3();
};
class Class8_1
{ virtualvoid method2(); virtual ~Class8_1();
}; class Class8_2
{ virtualvoid SAL_CALL method2(); // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}} virtual ~Class8_2();
}; class Class8_3 : public Class8_1, public Class8_2
{ virtualvoid method2() override; // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}} virtual ~Class8_3();
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.