Home | History | Annotate | Download | only in Sema

Lines Matching refs:Stack

30     // We just use a sentinel to represent when the stack is set to mac68k
38 /// PragmaPackStack - Simple class to wrap the stack used by #pragma
46 /// Stack - Entries in the #pragma pack stack, consisting of saved
48 stack_ty Stack;
56 /// push - Push the current alignment onto the stack, optionally
60 Stack.push_back(PSE);
63 /// pop - Pop a record from the stack and restore the current
74 // An empty stack is a special case...
75 if (Stack.empty()) {
87 Alignment = Stack.back().Alignment;
88 Stack.pop_back();
95 for (unsigned i = Stack.size(); i != 0; ) {
97 if (Stack[i].Name == Name) {
99 Alignment = Stack[i].Alignment;
100 Stack.erase(Stack.begin() + i, Stack.end());
120 PragmaPackStack *Stack = static_cast<PragmaPackStack*>(PackContext);
123 if (unsigned Alignment = Stack->getAlignment()) {
180 // Reset just pops the top of the stack, or resets the current alignment to
184 << "stack empty";
253 // wasn't found. Otherwise failure indicates the stack was
256 << "pack" << (Name ? "no record matching name" : "stack empty");
321 << "stack empty";
338 Stack.push_back(Slot(StackSlotLabel, CurrentValue, CurrentPragmaLocation));
342 auto I = std::find_if(Stack.rbegin(), Stack.rend(),
345 if (I != Stack.rend()) {
348 Stack.erase(std::prev(I.base()), Stack.end());
350 } else if (!Stack.empty()) {
352 CurrentValue = Stack.back().Value;
353 CurrentPragmaLocation = Stack.back().PragmaLocation;
354 Stack.pop_back();
416 PragmaStack<StringLiteral *> *Stack =
422 if (Action & PSK_Pop && Stack->Stack.empty())
424 << "stack empty";
425 Stack->Act(PragmaLocation, Action, StackSlotLabel, SegmentName);
512 VisStack *Stack = static_cast<VisStack*>(VisContext);
513 unsigned rawType = Stack->back().first;
518 SourceLocation loc = Stack->back().second;
530 // Put visibility on stack.
534 VisStack *Stack = static_cast<VisStack*>(S.VisContext);
535 Stack->push_back(std::make_pair(type, loc));
582 // Pop visibility from stack
583 VisStack *Stack = static_cast<VisStack*>(VisContext);
585 const std::pair<unsigned, SourceLocation> *Back = &Stack->back();
593 Stack->pop_back();
594 Back = &Stack->back();
603 Stack->pop_back();
604 // To simplify the implementation, never keep around an empty stack.
605 if (Stack->empty())