@@ -40,7 +40,6 @@ void f();
4040// special member function.
4141#define DEFAULTED = default ;
4242#define DELETED = delete ;
43- #define NOT_DECLARED ; // null statement
4443#define CUSTOMIZED { helpers::f (); }
4544// clang-format on
4645
@@ -282,47 +281,69 @@ class CopyAssignableCustomizedDtorCompliant1 { // COMPLIANT: copy-assignable cl
282281
283282class CopyAssignableCustomizedDtorCompliant2 { // COMPLIANT: copy-assignable class with both move operations not declared
284283public:
285- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorCompliant2, DEFAULTED,
286- NOT_DECLARED, CUSTOMIZED, NOT_DECLARED, CUSTOMIZED)
284+ COPY_CTOR (CopyAssignableCustomizedDtorCompliant2) DEFAULTED
285+ // Move constructor is not declared
286+ COPY_ASSIGN (CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED
287+ // Move assignment operator is not declared
288+ DTOR (CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED
287289};
288290
289291class CopyAssignableCustomizedDtorNonCompliant1 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
290292public:
291- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant1, CUSTOMIZED,
292- CUSTOMIZED, CUSTOMIZED, NOT_DECLARED, CUSTOMIZED)
293+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
294+ MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
295+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
296+ // Move assignment operator is not declared
297+ DTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
293298};
294299
295300class CopyAssignableCustomizedDtorNonCompliant2 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
296301public:
297- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant2, CUSTOMIZED,
298- NOT_DECLARED, CUSTOMIZED, CUSTOMIZED, CUSTOMIZED)
302+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
303+ // Move constructor is not declared
304+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
305+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
306+ DTOR (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
299307};
300308
301309class CopyAssignableCustomizedDtorNonCompliant3 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
302310public:
303- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant3, CUSTOMIZED,
304- CUSTOMIZED, CUSTOMIZED, NOT_DECLARED, CUSTOMIZED)
311+
312+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
313+ MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
314+ // Copy assignment operator is not declared
315+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
316+ DTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
317+
305318};
306319
307320class CopyAssignableCustomizedDtorNonCompliant4 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
308321public:
309- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant4, CUSTOMIZED,
310- NOT_DECLARED, CUSTOMIZED, CUSTOMIZED, CUSTOMIZED)
322+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
323+ // Move constructor is not declared
324+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
325+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
326+ DTOR (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
311327};
312328
313329class CopyAssignableCustomizedDtorNonCompliant5 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
314330public:
315- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant5, CUSTOMIZED,
316- DEFAULTED, CUSTOMIZED, NOT_DECLARED, CUSTOMIZED)
331+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
332+ MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant5) DEFAULTED
333+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
334+ // Move assignment operator is not declared
335+ DTOR (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
317336};
318337
319338class CopyAssignableCustomizedDtorNonCompliant6 { // NON_COMPLIANT: copy-assignable class with only one of move operations not declared
320339public:
321- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorNonCompliant6, CUSTOMIZED,
322- NOT_DECLARED, CUSTOMIZED, DEFAULTED, CUSTOMIZED)
340+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED
341+ // Move constructor is not declared
342+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED
343+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6) DEFAULTED
344+ DTOR (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED
323345};
324346
325-
326347// A public unmovable base class shall have a public virtual destructor
327348class UnmovableBaseNonvirtualDtor { // NON_COMPLIANT
328349public:
@@ -440,4 +461,4 @@ void f(OdrUsedMoveEnabled o) {
440461 o3 = std::move (o);
441462}
442463
443- } // namespace audit_results
464+ } // namespace audit_results
0 commit comments