Home | History | Annotate | Download | only in Support

Lines Matching defs:Components

428   // Parse into components.
429 SmallVector<StringRef, 4> Components;
430 Str.split(Components, "-");
438 if (Components.size() > 0)
439 Arch = parseArch(Components[0]);
441 if (Components.size() > 1)
442 Vendor = parseVendor(Components[1]);
444 if (Components.size() > 2)
445 OS = parseOS(Components[2]);
447 if (Components.size() > 3)
448 Environment = parseEnvironment(Components[3]);
450 if (Components.size() > 4)
451 ObjectFormat = parseFormat(Components[4]);
453 // Note which components are already in their final position. These will not
461 // If they are not there already, permute the components into their canonical
468 for (unsigned Idx = 0; Idx != Components.size(); ++Idx) {
469 // Do not reparse any components that already matched.
475 StringRef Comp = Components[Idx];
503 // components
507 // Insert left, pushing the existing components to the right. For
511 std::swap(CurrentComponent, Components[Idx]);
513 // components to the right.
515 // Skip over any fixed components.
520 std::swap(CurrentComponent, Components[i]);
523 // Push right by inserting empty components until the component at Idx
529 for (unsigned i = Idx; i < Components.size();) {
532 std::swap(CurrentComponent, Components[i]);
536 // Advance to the next component, skipping any fixed components.
542 Components.push_back(CurrentComponent);
549 assert(Pos < Components.size() && Components[Pos] == Comp &&
557 // correct values for the computed components.
560 Components.resize(4);
561 Components[2] = "windows";
564 Components[3] = "msvc";
566 Components[3] = getObjectFormatTypeName(ObjectFormat);
569 Components.resize(4);
570 Components[2] = "windows";
571 Components[3] = "gnu";
573 Components.resize(4);
574 Components[2] = "windows";
575 Components[3] = "cygnus";
580 Components.resize(5);
581 Components[4] = getObjectFormatTypeName(ObjectFormat);
585 // Stick the corrected components back together to form the normalized string.
587 for (unsigned i = 0, e = Components.size(); i != e; ++i) {
589 Normalized += Components[i];
647 // Parse up to three components.
648 unsigned *Components[3] = { &Major, &Minor, &Micro };
654 *Components[i] = EatNumber(OSName);