/netbsd-src/external/apache2/llvm/dist/clang/lib/StaticAnalyzer/Core/ |
H A D | ExprEngineObjC.cpp | 22 ExplodedNode *Pred, in VisitLvalObjCIvarRefExpr() argument 24 ProgramStateRef state = Pred->getState(); in VisitLvalObjCIvarRefExpr() 25 const LocationContext *LCtx = Pred->getLocationContext(); in VisitLvalObjCIvarRefExpr() 30 StmtNodeBuilder Bldr(Pred, dstIvar, *currBldrCtx); in VisitLvalObjCIvarRefExpr() 31 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, location)); in VisitLvalObjCIvarRefExpr() 39 ExplodedNode *Pred, in VisitObjCAtSynchronizedStmt() argument 41 getCheckerManager().runCheckersForPreStmt(Dst, Pred, S, *this); in VisitObjCAtSynchronizedStmt() 52 for (ExplodedNode *Pred : dstLocation) { in populateObjCForDestinationSet() 53 ProgramStateRef state = Pred->getState(); in populateObjCForDestinationSet() 54 const LocationContext *LCtx = Pred->getLocationContext(); in populateObjCForDestinationSet() [all …]
|
H A D | CoreEngine.cpp | 153 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem() argument 158 HandleBlockEdge(Loc.castAs<BlockEdge>(), Pred); in dispatchWorkItem() 162 HandleBlockEntrance(Loc.castAs<BlockEntrance>(), Pred); in dispatchWorkItem() 170 HandleCallEnter(Loc.castAs<CallEnter>(), Pred); in dispatchWorkItem() 174 ExprEng.processCallExit(Pred); in dispatchWorkItem() 178 assert(Pred->hasSinglePred() && in dispatchWorkItem() 180 ExplodedNode *PNode = Pred->getFirstPred(); in dispatchWorkItem() 181 dispatchWorkItem(Pred, PNode->getLocation(), WU); in dispatchWorkItem() 191 HandlePostStmt(WU.getBlock(), WU.getIndex(), Pred); in dispatchWorkItem() 208 void CoreEngine::HandleBlockEdge(const BlockEdge &L, ExplodedNode *Pred) { in HandleBlockEdge() argument [all …]
|
H A D | ExprEngine.cpp | 627 void ExprEngine::processCFGElement(const CFGElement E, ExplodedNode *Pred, in processCFGElement() argument 629 PrettyStackTraceLocationContext CrashInfo(Pred->getLocationContext()); in processCFGElement() 637 ProcessStmt(E.castAs<CFGStmt>().getStmt(), Pred); in processCFGElement() 640 ProcessInitializer(E.castAs<CFGInitializer>(), Pred); in processCFGElement() 644 Pred); in processCFGElement() 651 ProcessImplicitDtor(E.castAs<CFGImplicitDtor>(), Pred); in processCFGElement() 654 ProcessLoopExit(E.castAs<CFGLoopExit>().getLoopStmt(), Pred); in processCFGElement() 665 const ExplodedNode *Pred, in shouldRemoveDeadBindings() argument 672 if (Pred->getLocation().getAs<BlockEntrance>()) in shouldRemoveDeadBindings() 689 void ExprEngine::removeDead(ExplodedNode *Pred, ExplodedNodeSet &Out, in removeDead() argument [all …]
|
H A D | ExprEngineC.cpp | 41 ExplodedNode *Pred, in VisitBinaryOperator() argument 50 getCheckerManager().runCheckersForPreStmt(CheckedSet, Pred, B, *this); in VisitBinaryOperator() 196 void ExprEngine::VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, in VisitBlockExpr() argument 204 Pred->getLocationContext(), in VisitBlockExpr() 207 ProgramStateRef State = Pred->getState(); in VisitBlockExpr() 238 const LocationContext *LCtx = Pred->getLocationContext(); in VisitBlockExpr() 250 StmtNodeBuilder Bldr(Pred, Tmp, *currBldrCtx); in VisitBlockExpr() 251 Bldr.generateNode(BE, Pred, in VisitBlockExpr() 252 State->BindExpr(BE, Pred->getLocationContext(), V), in VisitBlockExpr() 262 ExplodedNode* Pred) { in handleLValueBitCast() argument [all …]
|
H A D | ExprEngineCXX.cpp | 27 ExplodedNode *Pred, in CreateCXXTemporaryObject() argument 29 StmtNodeBuilder Bldr(Pred, Dst, *currBldrCtx); in CreateCXXTemporaryObject() 31 ProgramStateRef state = Pred->getState(); in CreateCXXTemporaryObject() 32 const LocationContext *LCtx = Pred->getLocationContext(); in CreateCXXTemporaryObject() 35 Bldr.generateNode(ME, Pred, state); in CreateCXXTemporaryObject() 40 void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred, in performTrivialCopy() argument 68 const LocationContext *LCtx = Pred->getLocationContext(); in performTrivialCopy() 71 Bldr.takeNodes(Pred); in performTrivialCopy() 78 V = Pred->getState()->getSVal(*L); in performTrivialCopy() 83 evalBind(Dst, CallExpr, Pred, ThisVal, V, true); in performTrivialCopy() [all …]
|
H A D | CheckerManager.cpp | 170 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker() 175 Pred->getLocationContext(), checkFn.Checker); in runChecker() 176 CheckerContext C(Bldr, Eng, Pred, L, WasInlined); in runChecker() 217 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker() 231 CheckerContext C(Bldr, Eng, Pred, L, WasInlined); in runChecker() 233 checkFn(*Msg.cloneWithState<ObjCMethodCall>(Pred->getState()), C); in runChecker() 287 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker() 289 CheckerContext C(Bldr, Eng, Pred, L, WasInlined); in runChecker() 291 checkFn(*Call.cloneWithState(Pred->getState()), C); in runChecker() 334 NodeBuilder &Bldr, ExplodedNode *Pred) { in runChecker() [all …]
|
H A D | ExprEngineCallAndReturn.cpp | 44 ExplodedNode *Pred) { in processCallEnter() argument 60 ProgramStateRef state = Pred->getState(); in processCallEnter() 66 Node->addPredecessor(Pred, G); in processCallEnter() 165 ExplodedNode *Pred, in removeDeadOnEndOfFunction() argument 170 std::tie(LastSt, Blk) = getLastStmt(Pred); in removeDeadOnEndOfFunction() 172 Dst.Add(Pred); in removeDeadOnEndOfFunction() 182 const LocationContext *LCtx = Pred->getLocationContext(); in removeDeadOnEndOfFunction() 183 removeDead(Pred, Dst, dyn_cast<ReturnStmt>(LastSt), LCtx, in removeDeadOnEndOfFunction() 432 NodeBuilder &Bldr, ExplodedNode *Pred, in REGISTER_MAP_WITH_PROGRAMSTATE() 436 const LocationContext *CurLC = Pred->getLocationContext(); in REGISTER_MAP_WITH_PROGRAMSTATE() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/FuzzMutate/ |
H A D | OpDescriptor.h | 55 PredT Pred; 60 SourcePred(PredT Pred, MakeT Make) : Pred(Pred), Make(Make) {} in SourcePred() argument 61 SourcePred(PredT Pred, NoneType) : Pred(Pred) { in SourcePred() argument 62 Make = [Pred](ArrayRef<Value *> Cur, ArrayRef<Type *> BaseTypes) { in SourcePred() 67 if (Pred(Cur, V)) in SourcePred() 78 return Pred(Cur, New); in matches() 96 auto Pred = [Only](ArrayRef<Value *>, const Value *V) { in onlyType() 102 return {Pred, Make}; in onlyType() 106 auto Pred = [](ArrayRef<Value *>, const Value *V) { in anyType() 110 return {Pred, Make}; in anyType() [all …]
|
/netbsd-src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
H A D | ExprEngine.h | 296 void processCFGElement(const CFGElement E, ExplodedNode *Pred, 299 void ProcessStmt(const Stmt *S, ExplodedNode *Pred); 301 void ProcessLoopExit(const Stmt* S, ExplodedNode *Pred); 303 void ProcessInitializer(const CFGInitializer I, ExplodedNode *Pred); 305 void ProcessImplicitDtor(const CFGImplicitDtor D, ExplodedNode *Pred); 307 void ProcessNewAllocator(const CXXNewExpr *NE, ExplodedNode *Pred); 310 ExplodedNode *Pred, ExplodedNodeSet &Dst); 312 ExplodedNode *Pred, ExplodedNodeSet &Dst); 314 ExplodedNode *Pred, ExplodedNodeSet &Dst); 316 ExplodedNode *Pred, ExplodedNodeSet &Dst); [all …]
|
H A D | CoreEngine.h | 105 ExplodedNode *Pred); 107 void HandleBlockEdge(const BlockEdge &E, ExplodedNode *Pred); 108 void HandleBlockEntrance(const BlockEntrance &E, ExplodedNode *Pred); 109 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred); 111 void HandleCallEnter(const CallEnter &CE, ExplodedNode *Pred); 113 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred); 116 ExplodedNode *Pred); 118 const CFGBlock *B, ExplodedNode *Pred); 122 ExplodedNode *Pred); 124 void HandleVirtualBaseBranch(const CFGBlock *B, ExplodedNode *Pred); [all …]
|
H A D | CheckerContext.h | 26 ExplodedNode *Pred; variable 46 Pred(pred), in Eng() 51 assert(Pred->getState() && in Eng() 70 ExplodedNode *getPredecessor() { return Pred; } in getPredecessor() 71 const ProgramStateRef &getState() const { return Pred->getState(); } in getState() 92 return Pred->getLocationContext(); in getLocationContext() 96 return Pred->getStackFrame(); in getStackFrame() 125 return Pred->getLocationContext()->getAnalysisDeclContext(); in getCurrentAnalysisDeclContext() 147 return Pred->getSVal(S); in getSVal() 178 ExplodedNode *addTransition(ProgramStateRef State, ExplodedNode *Pred, [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyFixIrreducibleControlFlow.cpp | 91 for (auto *Pred : MBB->predecessors()) { in ReachabilityGraph() local 92 assert(inRegion(Pred)); in ReachabilityGraph() 158 for (auto *Pred : MBB->predecessors()) { in calculate() local 159 if (Reachable[Pred].insert(Succ).second) { in calculate() 160 WorkList.emplace_back(Pred, Succ); in calculate() 177 for (auto *Pred : Looper->predecessors()) { in calculate() local 180 if (!canReach(Looper, Pred)) { in calculate() 182 LoopEnterers[Looper].insert(Pred); in calculate() 212 for (auto *Pred : Entry->predecessors()) { in calculate() local 213 if (!Enterers.count(Pred)) { in calculate() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | CmpInstAnalysis.cpp | 22 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode() local 24 switch (Pred) { in getICmpCode() 43 CmpInst::Predicate &Pred) { in getPredForICmpCode() argument 48 case 1: Pred = Sign ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; break; in getPredForICmpCode() 49 case 2: Pred = ICmpInst::ICMP_EQ; break; in getPredForICmpCode() 50 case 3: Pred = Sign ? ICmpInst::ICMP_SGE : ICmpInst::ICMP_UGE; break; in getPredForICmpCode() 51 case 4: Pred = Sign ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; break; in getPredForICmpCode() 52 case 5: Pred = ICmpInst::ICMP_NE; break; in getPredForICmpCode() 53 case 6: Pred = Sign ? ICmpInst::ICMP_SLE : ICmpInst::ICMP_ULE; break; in getPredForICmpCode() 67 CmpInst::Predicate &Pred, in decomposeBitTestICmp() argument [all …]
|
H A D | ScalarEvolutionNormalization.cpp | 36 const NormalizePredTy Pred; member 38 NormalizeDenormalizeRewriter(TransformKind Kind, NormalizePredTy Pred, in NormalizeDenormalizeRewriter() 41 Pred(Pred) {} in NormalizeDenormalizeRewriter() 53 if (!Pred(AR)) in visitAddRecExpr() 99 auto Pred = [&](const SCEVAddRecExpr *AR) { in normalizeForPostIncUse() local 102 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S); in normalizeForPostIncUse() 105 const SCEV *llvm::normalizeForPostIncUseIf(const SCEV *S, NormalizePredTy Pred, in normalizeForPostIncUseIf() argument 107 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S); in normalizeForPostIncUseIf() 113 auto Pred = [&](const SCEVAddRecExpr *AR) { in denormalizeForPostIncUse() local 116 return NormalizeDenormalizeRewriter(Denormalize, Pred, SE).visit(S); in denormalizeForPostIncUse()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCompares.cpp | 77 static bool isSignTest(ICmpInst::Predicate &Pred, const APInt &C) { in isSignTest() argument 78 if (!ICmpInst::isSigned(Pred)) in isSignTest() 82 return ICmpInst::isRelational(Pred); in isSignTest() 85 if (Pred == ICmpInst::ICMP_SLT) { in isSignTest() 86 Pred = ICmpInst::ICMP_SLE; in isSignTest() 90 if (Pred == ICmpInst::ICMP_SGT) { in isSignTest() 91 Pred = ICmpInst::ICMP_SGE; in isSignTest() 1066 ICmpInst::Predicate Pred) { in foldICmpAddOpConst() argument 1075 if (Pred == ICmpInst::ICMP_ULT || Pred == ICmpInst::ICMP_ULE) { in foldICmpAddOpConst() 1084 if (Pred == ICmpInst::ICMP_UGT || Pred == ICmpInst::ICMP_UGE) in foldICmpAddOpConst() [all …]
|
H A D | InstCombineSelect.cpp | 53 CmpInst::Predicate Pred = getMinMaxPred(SPF); in createMinMax() local 54 assert(CmpInst::isIntPredicate(Pred) && "Expected integer predicate"); in createMinMax() 55 return Builder.CreateSelect(Builder.CreateICmp(Pred, A, B), A, B); in createMinMax() 66 CmpInst::Predicate Pred; in foldSelectBinOpIdentity() local 67 if (!match(Sel.getCondition(), m_Cmp(Pred, m_Value(X), m_Constant(C)))) in foldSelectBinOpIdentity() 71 if (ICmpInst::isEquality(Pred)) in foldSelectBinOpIdentity() 72 IsEq = Pred == ICmpInst::ICMP_EQ; in foldSelectBinOpIdentity() 73 else if (Pred == FCmpInst::FCMP_OEQ) in foldSelectBinOpIdentity() 75 else if (Pred == FCmpInst::FCMP_UNE) in foldSelectBinOpIdentity() 90 if (!IdC || !CmpInst::isFPPredicate(Pred)) in foldSelectBinOpIdentity() [all …]
|
/netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/ |
H A D | entry_pred.hpp | 49 template<typename _VTp, typename Pred, typename _Alloc, bool No_Throw> 53 template<typename _VTp, typename Pred, typename _Alloc> 54 struct entry_pred<_VTp, Pred, _Alloc, true> 56 typedef Pred type; 60 template<typename _VTp, typename Pred, typename _Alloc> 61 struct entry_pred<_VTp, Pred, _Alloc, false> 69 struct type : public Pred 75 type(const Pred& other) : Pred(other) { } in type() 79 { return Pred::operator()(*p_v); } in operator ()()
|
/netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/ |
H A D | entry_pred.hpp | 49 template<typename _VTp, typename Pred, typename _Alloc, bool No_Throw> 53 template<typename _VTp, typename Pred, typename _Alloc> 54 struct entry_pred<_VTp, Pred, _Alloc, true> 56 typedef Pred type; 60 template<typename _VTp, typename Pred, typename _Alloc> 61 struct entry_pred<_VTp, Pred, _Alloc, false> 69 struct type : public Pred 75 type(const Pred& other) : Pred(other) { } in type() 79 { return Pred::operator()(*p_v); } in operator ()()
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 139 BlkT *Pred = Preds[p]; in BuildBlockList() local 142 BBMap.FindAndConstruct(Pred); in BuildBlockList() 149 ValT PredVal = AvailableVals->lookup(Pred); in BuildBlockList() 150 BBInfo *PredInfo = new (Allocator) BBInfo(Pred, PredVal); in BuildBlockList() 252 BBInfo *Pred = Info->Preds[p]; in FindDominators() local 255 if (Pred->BlkNum == 0) { in FindDominators() 256 Pred->AvailableVal = Traits::GetUndefVal(Pred->BB, Updater); in FindDominators() 257 (*AvailableVals)[Pred->BB] = Pred->AvailableVal; in FindDominators() 258 Pred->DefBB = Pred; in FindDominators() 259 Pred->BlkNum = PseudoEntry->BlkNum; in FindDominators() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | MachineBlockPlacement.cpp | 454 bool isBestSuccessor(MachineBasicBlock *BB, MachineBasicBlock *Pred, 1126 for (MachineBasicBlock *Pred : Succ->predecessors()) { in canTailDuplicateUnplacedPreds() 1130 if (Pred == BB || (BlockFilter && !BlockFilter->count(Pred)) in canTailDuplicateUnplacedPreds() 1131 || BlockToChain[Pred] == &Chain) in canTailDuplicateUnplacedPreds() 1133 if (!TailDup.canTailDuplicate(Succ, Pred)) { in canTailDuplicateUnplacedPreds() 1134 if (Successors.size() > 1 && hasSameSuccessors(*Pred, Successors)) in canTailDuplicateUnplacedPreds() 1287 for (MachineBasicBlock* Pred : PDom->predecessors()) { in precomputeTriangleChains() 1288 if (Pred == &BB) in precomputeTriangleChains() 1290 if (!TailDup.canTailDuplicate(PDom, Pred)) { in precomputeTriangleChains() 1509 for (MachineBasicBlock *Pred : Succ->predecessors()) { in hasBetterLayoutPredecessor() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
H A D | LoopPredication.cpp | 239 ICmpInst::Predicate Pred; member 242 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp() 244 : Pred(Pred), IV(IV), Limit(Limit) {} in LoopICmp() 247 dbgs() << "LoopICmp Pred = " << Pred << ", IV = " << *IV in dump() 285 ICmpInst::Predicate Pred, const SCEV *LHS, 375 auto Pred = ICI->getPredicate(); in parseLoopICmp() local 390 Pred = ICmpInst::getSwappedPredicate(Pred); in parseLoopICmp() 397 return LoopICmp(Pred, AR, RHSS); in parseLoopICmp() 402 ICmpInst::Predicate Pred, const SCEV *LHS, in expandCheck() argument 409 if (SE->isLoopEntryGuardedByCond(L, Pred, LHS, RHS)) in expandCheck() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUExportClustering.cpp | 69 for (const SDep &Pred : SUb->Preds) { in buildCluster() local 70 SUnit *PredSU = Pred.getSUnit(); in buildCluster() 71 if (!isExport(*PredSU) && !Pred.isWeak()) in buildCluster() 85 for (const SDep &Pred : SU.Preds) { in removeExportDependencies() local 86 SUnit *PredSU = Pred.getSUnit(); in removeExportDependencies() 87 if (Pred.isBarrier() && isExport(*PredSU)) { in removeExportDependencies() 88 ToRemove.push_back(Pred); in removeExportDependencies() 102 for (SDep Pred : ToRemove) in removeExportDependencies() local 103 SU.removePred(Pred); in removeExportDependencies() 104 for (SDep Pred : ToAdd) in removeExportDependencies() local [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/examples/IRTransforms/ |
H A D | SimplifyCFG.cpp | 271 BasicBlock *Pred = BB.getSinglePredecessor(); in mergeIntoSinglePredecessor_v1() local 274 if (!Pred || Pred->getSingleSuccessor() != &BB) in mergeIntoSinglePredecessor_v1() 278 if (Pred == &BB) in mergeIntoSinglePredecessor_v1() 282 BB.replaceAllUsesWith(Pred); in mergeIntoSinglePredecessor_v1() 290 I.moveBefore(Pred->getTerminator()); in mergeIntoSinglePredecessor_v1() 294 Pred->getTerminator()->eraseFromParent(); in mergeIntoSinglePredecessor_v1() 313 BasicBlock *Pred = BB.getSinglePredecessor(); in mergeIntoSinglePredecessor_v2() local 316 if (!Pred || Pred->getSingleSuccessor() != &BB) in mergeIntoSinglePredecessor_v2() 320 if (Pred == &BB) in mergeIntoSinglePredecessor_v2() 327 DTUpdates.push_back({DominatorTree::Insert, Pred, Succ}); in mergeIntoSinglePredecessor_v2() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/FuzzMutate/ |
H A D | RandomIRBuilder.cpp | 29 SourcePred Pred) { in findOrCreateSource() argument 30 auto MatchesPred = [&Srcs, &Pred](Instruction *Inst) { in findOrCreateSource() 31 return Pred.matches(Srcs, Inst); in findOrCreateSource() 38 return newSource(BB, Insts, Srcs, Pred); in findOrCreateSource() 42 ArrayRef<Value *> Srcs, SourcePred Pred) { in newSource() argument 45 RS.sample(Pred.generate(Srcs, KnownTypes)); in newSource() 48 Value *Ptr = findPointer(BB, Insts, Srcs, Pred); in newSource() 60 if (Pred.matches(Srcs, NewLoad)) in newSource() 135 ArrayRef<Value *> Srcs, SourcePred Pred) { in findPointer() argument 136 auto IsMatchingPtr = [&Srcs, &Pred](Instruction *Inst) { in findPointer() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/ |
H A D | SystemZTDC.cpp | 133 auto Pred = I.getPredicate(); in convertFCmp() local 152 if ((Pred & CmpInst::FCMP_OGE) != CmpInst::FCMP_OGE && in convertFCmp() 153 (Pred & CmpInst::FCMP_OGE) != 0) in convertFCmp() 158 if ((Pred & CmpInst::FCMP_OLE) != CmpInst::FCMP_OLE && in convertFCmp() 159 (Pred & CmpInst::FCMP_OLE) != 0) in convertFCmp() 213 if (Pred & CmpInst::FCMP_OEQ) in convertFCmp() 215 if (Pred & CmpInst::FCMP_OGT) in convertFCmp() 217 if (Pred & CmpInst::FCMP_OLT) in convertFCmp() 219 if (Pred & CmpInst::FCMP_UNO) in convertFCmp() 243 auto Pred = I.getPredicate(); in convertICmp() local [all …]
|