1
0
Fork 0
firefox/build/clang-plugin/tests/TestMultipleAnnotations.cpp
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

19 lines
633 B
C++

#define MOZ_NON_TEMPORARY_CLASS __attribute__((annotate("moz_non_temporary_class")))
#define MOZ_STACK_CLASS __attribute__((annotate("moz_stack_class")))
class MOZ_NON_TEMPORARY_CLASS MOZ_STACK_CLASS TestClass {};
TestClass foo; // expected-error {{variable of type 'TestClass' only valid on the stack}} expected-note {{value incorrectly allocated in a global variable}}
TestClass f()
{
TestClass bar;
return bar;
}
void gobbleref(const TestClass&) { }
void g()
{
gobbleref(f()); // expected-error {{variable of type 'TestClass' is not valid in a temporary}} expected-note {{value incorrectly allocated in a temporary}}
}