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