void InterfaceStatement::checkVolatile(AnalysisResultConstPtr ar) { ClassScopeRawPtr classScope = getClassScope(); // redeclared classes/interfaces are automatically volatile if (!classScope->isVolatile()) { if (checkVolatileBases(ar)) { // if any base is volatile, the class is volatile classScope->setVolatile(); } } }
void InterfaceStatement::checkVolatile(AnalysisResultPtr ar) { ClassScopeRawPtr classScope = getClassScope(); // redeclared classes/interfaces are automatically volatile if (!classScope->isVolatile()) { if (checkVolatileBases(ar)) { // if any base is volatile, the class is volatile classScope->setVolatile(); } } if (classScope->isVolatile()) { classScope->getOuterScope()->getVariables()-> setAttribute(VariableTable::NeedGlobalPointer); } }