@@ -213,9 +213,11 @@ namespace MyNamespace {
213213MyNamespace::MyClass source3 ();
214214
215215void test_class_members () {
216- MyClass mc, mc2, mc3, mc4, mc5, mc6;
216+ MyClass mc, mc2, mc3, mc4, mc5, mc6, mc7;
217+ MyClass *ptr, *mc4_ptr;
217218 MyDerivedClass mdc;
218- MyNamespace::MyClass mnc;
219+ MyNamespace::MyClass mnc, mnc2;
220+ MyNamespace::MyClass *mnc2_ptr;
219221
220222 // test class member sources
221223
@@ -253,26 +255,44 @@ void test_class_members() {
253255 mc2.madArg0ToSelf (source ());
254256 sink (mc2); // $ MISSING: ir
255257
258+ ptr = new MyClass ();
259+ sink (*ptr);
260+ ptr->madArg0ToSelf (0 );
261+ sink (*ptr);
262+ ptr->madArg0ToSelf (source ());
263+ sink (*ptr); // $ ir
264+
256265 mc3.madArg0ToField (source ());
257266 sink (mc3.val ); // $ MISSING: ir
258267
268+ mc4 = source2 ();
269+ mc4_ptr = &mc4;
270+ sink (mc4); // $ ir
271+ sink (mc4.madSelfToReturn ()); // $ MISSING: ir
272+ sink (mc4.notASummary ());
273+ sink (mc4_ptr->madSelfToReturn ()); // $ MISSING: ir
274+ sink (mc4_ptr->notASummary ());
259275 sink (source2 ().madSelfToReturn ()); // $ ir
260276 sink (source2 ().notASummary ());
261277
262- mc4 .val = source ();
263- sink (mc4 .madFieldToReturn ()); // $ MISSING: ir
278+ mc5 .val = source ();
279+ sink (mc5 .madFieldToReturn ()); // $ MISSING: ir
264280
281+ mnc2 = source3 ();
282+ mnc2_ptr = &mnc2;
283+ sink (mnc2.namespaceMadSelfToReturn ()); // $ MISSING: ir
284+ sink (mnc2_ptr->namespaceMadSelfToReturn ()); // $ MISSING: ir
265285 sink (source3 ().namespaceMadSelfToReturn ()); // $ ir
266286
267287 // test class member sources + sinks + summaries together
268288
269289 mc.memberMadSinkArg0 (mc.memberRemoteMadSource ()); // $ ir
270290
271- mc5 .madArg0ToSelf (source ());
272- sink (mc5 .madSelfToReturn ()); // $ MISSING: ir
291+ mc6 .madArg0ToSelf (source ());
292+ sink (mc6 .madSelfToReturn ()); // $ MISSING: ir
273293
274- mc6 .madArg0ToField (source ());
275- sink (mc6 .madFieldToReturn ()); // $ MISSING: ir
294+ mc7 .madArg0ToField (source ());
295+ sink (mc7 .madFieldToReturn ()); // $ MISSING: ir
276296}
277297
278298// --- MAD cases involving function pointers ---
0 commit comments