static ArgSymbol* addOutErrorArg(FnSymbol* fn) { ArgSymbol* outError = NULL; SET_LINENO(fn); outError = new ArgSymbol(INTENT_REF, "error_out", dtError); outError->addFlag(FLAG_ERROR_VARIABLE); fn->insertFormalAtTail(outError); return outError; }
ArgSymbol* ReturnByRef::addFormal(FnSymbol* fn) { SET_LINENO(fn); Type* type = fn->retType; AggregateType* refType = type->refType; IntentTag intent = blankIntentForType(refType); // Note: other code does strcmps against the name _retArg ArgSymbol* formal = new ArgSymbol(intent, "_retArg", refType); formal->addFlag(FLAG_RETARG); fn->insertFormalAtTail(formal); fn->addFlag(FLAG_FN_RETARG); return formal; }