If you try to compile the code you've given us, the compiler complains that this macro does not exist. This means that, whatever the problem is, it happens after it expands that macro.
So it looks like the issue that I had was literally just a typo. In trying to fix the code so I could post the updated version here, I came across it. This thread is now completely pointless to be on this forum; any idea if there's a way to delete it? If not, no big deal, but this thread is very pointless.
I dunno about that. It's a good example of why you should really write a reproducible test case when asking for help: sometimes you end up accidentally solving the issue.