tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TestMultipleAnnotations.cpp (633B)


      1 #define MOZ_NON_TEMPORARY_CLASS __attribute__((annotate("moz_non_temporary_class")))
      2 #define MOZ_STACK_CLASS __attribute__((annotate("moz_stack_class")))
      3 
      4 class MOZ_NON_TEMPORARY_CLASS MOZ_STACK_CLASS TestClass {};
      5 
      6 TestClass foo; // expected-error {{variable of type 'TestClass' only valid on the stack}} expected-note {{value incorrectly allocated in a global variable}}
      7 
      8 TestClass f()
      9 {
     10  TestClass bar;
     11  return bar;
     12 }
     13 
     14 void gobbleref(const TestClass&) { }
     15 
     16 void g()
     17 {
     18  gobbleref(f()); // expected-error {{variable of type 'TestClass' is not valid in a temporary}} expected-note {{value incorrectly allocated in a temporary}}
     19 }