Minimal example code:
#define SOME_DEBUG_DEFINE 1
int fun( ProgramContext* pContext, DebugContext* pDebugContext )
int fun( ProgramContext* pContext )
int select_this_line_and_extract_method_with_VA = 1;
Selecting the select_this... line and letting VA "Extract Method" the method is reliably placed inside the #else-#endif block below the second function header, even if that #else is turned off. This works with code blocks of any size inside such a code situation, not just one line.
It should not place it inside the #if at all, much less between a function header and its body.
I searched the forums and couldn't find this bug yet.