@@ -199,6 +199,7 @@ class RefCounted {
199
199
bool trivial23 () const { return OptionSet<Flags>::fromRaw (v).contains (Flags::Flag1); }
200
200
int trivial24 () const { ASSERT (v); return v; }
201
201
unsigned trivial25 () const { return __c11_atomic_load ((volatile _Atomic (unsigned ) *)&v, __ATOMIC_RELAXED); }
202
+ bool trivial26 () { bool hasValue = v; return !hasValue; }
202
203
203
204
static RefCounted& singleton () {
204
205
static RefCounted s_RefCounted;
@@ -262,6 +263,15 @@ class RefCounted {
262
263
return __c11_atomic_load ((volatile _Atomic (unsigned ) *)another (), __ATOMIC_RELAXED);
263
264
}
264
265
266
+ void nonTrivial11 () {
267
+ Number num (0.3 );
268
+ }
269
+
270
+ bool nonTrivial12 () {
271
+ bool val = otherFunction ();
272
+ return val;
273
+ }
274
+
265
275
unsigned v { 0 };
266
276
Number* number { nullptr };
267
277
Enum enumValue { Enum::Value1 };
@@ -309,6 +319,7 @@ class UnrelatedClass {
309
319
getFieldTrivial ().trivial23 (); // no-warning
310
320
getFieldTrivial ().trivial24 (); // no-warning
311
321
getFieldTrivial ().trivial25 (); // no-warning
322
+ getFieldTrivial ().trivial26 (); // no-warning
312
323
RefCounted::singleton ().trivial18 (); // no-warning
313
324
RefCounted::singleton ().someFunction (); // no-warning
314
325
@@ -334,6 +345,10 @@ class UnrelatedClass {
334
345
// expected-warning@-1{{Call argument for 'this' parameter is uncounted and unsafe}}
335
346
getFieldTrivial ().nonTrivial10 ();
336
347
// expected-warning@-1{{Call argument for 'this' parameter is uncounted and unsafe}}
348
+ getFieldTrivial ().nonTrivial11 ();
349
+ // expected-warning@-1{{Call argument for 'this' parameter is uncounted and unsafe}}
350
+ getFieldTrivial ().nonTrivial12 ();
351
+ // expected-warning@-1{{Call argument for 'this' parameter is uncounted and unsafe}}
337
352
}
338
353
};
339
354
0 commit comments