Lines Matching full:components
530 // Parse into components. in normalize()
531 SmallVector<StringRef, 4> Components; in normalize() local
532 Str.split(Components, "-"); in normalize()
540 if (Components.size() > 0) in normalize()
541 Arch = parseArch(Components[0]); in normalize()
543 if (Components.size() > 1) in normalize()
544 Vendor = parseVendor(Components[1]); in normalize()
546 if (Components.size() > 2) { in normalize()
547 OS = parseOS(Components[2]); in normalize()
548 IsCygwin = Components[2].startswith("cygwin"); in normalize()
549 IsMinGW32 = Components[2].startswith("mingw"); in normalize()
552 if (Components.size() > 3) in normalize()
553 Environment = parseEnvironment(Components[3]); in normalize()
555 if (Components.size() > 4) in normalize()
556 ObjectFormat = parseFormat(Components[4]); in normalize()
558 // Note which components are already in their final position. These will not in normalize()
566 // If they are not there already, permute the components into their canonical in normalize()
573 for (unsigned Idx = 0; Idx != Components.size(); ++Idx) { in normalize()
574 // Do not reparse any components that already matched. in normalize()
580 StringRef Comp = Components[Idx]; in normalize()
610 // components that are in the way to the right. This tends to give in normalize()
614 // Insert left, pushing the existing components to the right. For in normalize()
618 std::swap(CurrentComponent, Components[Idx]); in normalize()
620 // components to the right. in normalize()
622 // Skip over any fixed components. in normalize()
627 std::swap(CurrentComponent, Components[i]); in normalize()
630 // Push right by inserting empty components until the component at Idx in normalize()
636 for (unsigned i = Idx; i < Components.size();) { in normalize()
639 std::swap(CurrentComponent, Components[i]); in normalize()
643 // Advance to the next component, skipping any fixed components. in normalize()
649 Components.push_back(CurrentComponent); in normalize()
656 assert(Pos < Components.size() && Components[Pos] == Comp && in normalize()
664 // correct values for the computed components. in normalize()
667 Components.resize(4); in normalize()
668 Components[2] = "windows"; in normalize()
671 Components[3] = "msvc"; in normalize()
673 Components[3] = getObjectFormatTypeName(ObjectFormat); in normalize()
676 Components.resize(4); in normalize()
677 Components[2] = "windows"; in normalize()
678 Components[3] = "gnu"; in normalize()
680 Components.resize(4); in normalize()
681 Components[2] = "windows"; in normalize()
682 Components[3] = "cygnus"; in normalize()
687 Components.resize(5); in normalize()
688 Components[4] = getObjectFormatTypeName(ObjectFormat); in normalize()
692 // Stick the corrected components back together to form the normalized string. in normalize()
694 for (unsigned i = 0, e = Components.size(); i != e; ++i) { in normalize()
696 Normalized += Components[i]; in normalize()
762 // Parse up to three components. in getOSVersion()
763 unsigned *Components[3] = { &Major, &Minor, &Micro }; in getOSVersion() local
769 *Components[i] = EatNumber(OSName); in getOSVersion()