X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCSectionMachO.cpp;h=e771556262a8d1d2ad66bcb67526b43e78760edb;hb=9c6cdf4c1c82842a97e02bef4cef2431ad2e61a3;hp=2cfecb2d8bee748d8ef5ae6a56854a331835b027;hpb=6ad82d81cc3061a000799ad8751f018c1301906b;p=oota-llvm.git diff --git a/lib/MC/MCSectionMachO.cpp b/lib/MC/MCSectionMachO.cpp index 2cfecb2d8be..e771556262a 100644 --- a/lib/MC/MCSectionMachO.cpp +++ b/lib/MC/MCSectionMachO.cpp @@ -108,9 +108,11 @@ void MCSectionMachO::PrintSwitchToSection(const MCAsmInfo &MAI, if (SectionTypeDescriptors[SectionType].AssemblerName) { OS << ','; OS << SectionTypeDescriptors[SectionType].AssemblerName; - } else + } else { // If we have no name for the attribute, stop here. + OS << '\n'; return; + } // If we don't have any attributes, we're done. unsigned SectionAttrs = TAA & MCSectionMachO::SECTION_ATTRIBUTES; @@ -178,7 +180,9 @@ std::string MCSectionMachO::ParseSectionSpecifier(StringRef Spec, // In. StringRef &Segment, // Out. StringRef &Section, // Out. unsigned &TAA, // Out. + bool &TAAParsed, // Out. unsigned &StubSize) { // Out. + TAAParsed = false; // Find the first comma. std::pair Comma = Spec.split(','); @@ -209,6 +213,7 @@ std::string MCSectionMachO::ParseSectionSpecifier(StringRef Spec, // In. "between 1 and 16 characters"; // If there is no comma after the section, we're done. + TAA = 0; StubSize = 0; if (Comma.second.empty()) return ""; @@ -233,6 +238,7 @@ std::string MCSectionMachO::ParseSectionSpecifier(StringRef Spec, // In. // Remember the TypeID. TAA = TypeID; + TAAParsed = true; // If we have no comma after the section type, there are no attributes. if (Comma.second.empty()) {