@@ -243,12 +243,16 @@ struct BadAccessGuardConfig
243243BadAccessGuardConfig BadAccessGuardGetConfig ();
244244void BadAccessGuardSetConfig (BadAccessGuardConfig config);
245245
246+ #define BA_GUARD_MERGE_NAME (a,b ) a##b
247+
246248#define BA_GUARD_DECL (SHADOWNAME ) mutable BadAccessGuardShadow SHADOWNAME
247- #define BA_GUARD_READ (SHADOWNAME ) BadAccessGuardRead BAGuardRead_##SHADOWNAME{SHADOWNAME}
248- #define BA_GUARD_READ_EX (SHADOWNAME,ASSERT_OR_WARN,MESSAGE ) BadAccessGuardRead BAGuardRead_##SHADOWNAME{SHADOWNAME, (ASSERT_OR_WARN), (MESSAGE)}
249- #define BA_GUARD_WRITE (SHADOWNAME ) BadAccessGuardWrite BAGuardWrite_##SHADOWNAME{SHADOWNAME}
250- #define BA_GUARD_WRITE_EX (SHADOWNAME,ASSERT_OR_WARN,MESSAGE ) BadAccessGuardWriteEx BAGuardWriteEx_##SHADOWNAME{SHADOWNAME, (ASSERT_OR_WARN), (MESSAGE)}
251- #define BA_GUARD_DESTROY (SHADOWNAME ) BadAccessGuardDestroy BAGuardDestroy_##SHADOWNAME{SHADOWNAME}
249+ #define BA_GUARD_READ (SHADOWNAME ) BadAccessGuardRead BA_GUARD_MERGE_NAME (BAGuardRead_,__COUNTER__){SHADOWNAME}
250+ #define BA_GUARD_READ_EX (SHADOWNAME,ASSERT_OR_WARN,MESSAGE ) BadAccessGuardRead BA_GUARD_MERGE_NAME (BAGuardRead_,__COUNTER__){SHADOWNAME, (ASSERT_OR_WARN), (MESSAGE)}
251+ #define BA_GUARD_WRITE (SHADOWNAME ) BadAccessGuardWrite BA_GUARD_MERGE_NAME (BAGuardWrite_,__COUNTER__){SHADOWNAME}
252+ #define BA_GUARD_WRITE_EX (SHADOWNAME,ASSERT_OR_WARN,MESSAGE ) BadAccessGuardWriteEx BA_GUARD_MERGE_NAME (BAGuardWriteEx_,__COUNTER__){SHADOWNAME, (ASSERT_OR_WARN), (MESSAGE)}
253+ #define BA_GUARD_DESTROY (SHADOWNAME ) BadAccessGuardDestroy BA_GUARD_MERGE_NAME (BAGuardDestroy_,__COUNTER__){SHADOWNAME}
254+
255+ #undef BA_GUARD_MERGE_NAME
252256
253257#else // BAD_ACCESS_GUARDS_ENABLE
254258
0 commit comments