When you say sporadically, do you mean that the same code sometimes works and sometimes fails? Or do you mean that this fails in some places and works in other places?
If it works in some places and fails in others then this sounds like a parser problem. If you get different results on different occasions from the same code then we have something a bit more puzzling.
Can you try the following test code please, it should reproduce the situation you are describing, but the symbol names should be unique, so we won't have to worry about any problems caused by duplicate symbols. Do you get the same results as I do? My results are described in the comments. I am using the same OS, IDE and version of VA to you, so my results should be similar.
#define FELINE_TEST_NAMESPACE_MACRO(V)
namespace FelineSpaceWithMacro FELINE_TEST_NAMESPACE_MACRO(default)
{
void testFuncInSpace() { }
extern int spaceMemberNumberExtern;
int spaceMemberNumberNormal;
};
int FelineSpaceWithMacro::spaceMemberNumberExtern;
void FelineTestUsingSpace()
{
// alt-g on the next three lines works
FelineSpaceWithMacro::testFuncInSpace();
FelineSpaceWithMacro::spaceMemberNumberNormal;
FelineSpaceWithMacro::spaceMemberNumberExtern;
// type "::" at the end of this line, before the semi-colon
// and three items are listed in the listbox
FelineSpaceWithMacro;
}