Home | History | Annotate | Download | only in Support

Lines Matching refs:Components

608   SmallVector<StringRef, 4> Components;
609 StringRef(Data).split(Components, '-', /*MaxSplit*/ 3);
610 if (Components.size() > 0) {
611 Arch = parseArch(Components[0]);
612 SubArch = parseSubArch(Components[0]);
613 if (Components.size() > 1) {
614 Vendor = parseVendor(Components[1]);
615 if (Components.size() > 2) {
616 OS = parseOS(Components[2]);
617 if (Components.size() > 3) {
618 Environment = parseEnvironment(Components[3]);
619 ObjectFormat = parseFormat(Components[3]);
667 // Parse into components.
668 SmallVector<StringRef, 4> Components;
669 Str.split(Components, '-');
677 if (Components.size() > 0)
678 Arch = parseArch(Components[0]);
680 if (Components.size() > 1)
681 Vendor = parseVendor(Components[1]);
683 if (Components.size() > 2) {
684 OS = parseOS(Components[2]);
685 IsCygwin = Components[2].startswith("cygwin");
686 IsMinGW32 = Components[2].startswith("mingw");
689 if (Components.size() > 3)
690 Environment = parseEnvironment(Components[3]);
692 if (Components.size() > 4)
693 ObjectFormat = parseFormat(Components[4]);
695 // Note which components are already in their final position. These will not
703 // If they are not there already, permute the components into their canonical
710 for (unsigned Idx = 0; Idx != Components.size(); ++Idx) {
711 // Do not reparse any components that already matched.
717 StringRef Comp = Components[Idx];
747 // components that are in the way to the right. This tends to give
751 // Insert left, pushing the existing components to the right. For
755 std::swap(CurrentComponent, Components[Idx]);
757 // components to the right.
759 // Skip over any fixed components.
764 std::swap(CurrentComponent, Components[i]);
767 // Push right by inserting empty components until the component at Idx
773 for (unsigned i = Idx; i < Components.size();) {
776 std::swap(CurrentComponent, Components[i]);
780 // Advance to the next component, skipping any fixed components.
786 Components.push_back(CurrentComponent);
793 assert(Pos < Components.size() && Components[Pos] == Comp &&
801 // correct values for the computed components.
803 if (Environment == Triple::Android && Components[3].startswith("androideabi")) {
804 StringRef AndroidVersion = Components[3].drop_front(strlen("androideabi"));
806 Components[3] = "android";
809 Components[3] = NormalizedEnvironment;
814 Components.resize(4);
815 Components[2] = "windows";
818 Components[3] = "msvc";
820 Components[3] = getObjectFormatTypeName(ObjectFormat);
823 Components.resize(4);
824 Components[2] = "windows";
825 Components[3] = "gnu";
827 Components.resize(4);
828 Components[2] = "windows";
829 Components[3] = "cygnus";
834 Components.resize(5);
835 Components[4] = getObjectFormatTypeName(ObjectFormat);
839 // Stick the corrected components back together to form the normalized string.
841 for (unsigned i = 0, e = Components.size(); i != e; ++i) {
843 Normalized += Components[i];
894 // Parse up to three components.
895 unsigned *Components[3] = {&Major, &Minor, &Micro};
901 *Components[i] = EatNumber(Name);