On Tue, Sep 13, 2016 at 11:06 AM, Justin Bogner <m...@justinbogner.com> wrote:
> Saleem Abdulrasool via cfe-commits <cfe-commits@lists.llvm.org> writes: > > Author: compnerd > > Date: Mon Sep 12 16:15:23 2016 > > New Revision: 281261 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=281261&view=rev > > Log: > > CodeGen: use some range-based for loops > > > > Use range-based for loops to simplify the logic. Add an explicit check > for > > MachO as the inline asm uses MachO specific directives. > > > > Modified: > > cfe/trunk/lib/CodeGen/CGObjCMac.cpp > > > > Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp > > URL: > > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/ > CGObjCMac.cpp?rev=281261&r1=281260&r2=281261&view=diff > > ============================================================ > ================== > > --- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original) > > +++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon Sep 12 16:15:23 2016 > > @@ -5178,27 +5178,23 @@ void CGObjCMac::FinishModule() { > > // important for correct linker interaction. > > // > > // FIXME: It would be nice if we had an LLVM construct for this. > > - if (!LazySymbols.empty() || !DefinedSymbols.empty()) { > > + if ((!LazySymbols.empty() || !DefinedSymbols.empty()) && > > + CGM.getTriple().isOSBinFormatMachO()) { > > SmallString<256> Asm; > > Asm += CGM.getModule().getModuleInlineAsm(); > > if (!Asm.empty() && Asm.back() != '\n') > > Asm += '\n'; > > > > llvm::raw_svector_ostream OS(Asm); > > - for (llvm::SetVector<IdentifierInfo*>::iterator I = > DefinedSymbols.begin(), > > - e = DefinedSymbols.end(); I != e; ++I) > > - OS << "\t.objc_class_name_" << (*I)->getName() << "=0\n" > > - << "\t.globl .objc_class_name_" << (*I)->getName() << "\n"; > > - for (llvm::SetVector<IdentifierInfo*>::iterator I = > LazySymbols.begin(), > > - e = LazySymbols.end(); I != e; ++I) { > > - OS << "\t.lazy_reference .objc_class_name_" << (*I)->getName() << > "\n"; > > - } > > + for (const auto &Sym : DefinedSymbols) > > Is this a reference to a pointer? Please write this as `const auto *`, > or even just write out the type `const IdentifierInfo *`. Sorry for the delay: SVN r281730. > > + OS << "\t.objc_class_name_" << Sym->getName() << "=0\n" > > + << "\t.globl .objc_class_name_" << Sym->getName() << "\n"; > > + for (const auto &Sym : LazySymbols) > > + OS << "\t.lazy_reference .objc_class_name_" << Sym->getName() << > "\n"; > > + for (const auto &Category : DefinedCategoryNames) > > + OS << "\t.objc_category_name_" << Category << "=0\n" > > + << "\t.globl .objc_category_name_" << Category << "\n"; > > > > - for (size_t i = 0, e = DefinedCategoryNames.size(); i < e; ++i) { > > - OS << "\t.objc_category_name_" << DefinedCategoryNames[i] << > "=0\n" > > - << "\t.globl .objc_category_name_" << DefinedCategoryNames[i] > << "\n"; > > - } > > - > > CGM.getModule().setModuleInlineAsm(OS.str()); > > } > > } > > > > > > _______________________________________________ > > cfe-commits mailing list > > cfe-commits@lists.llvm.org > > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > -- Saleem Abdulrasool compnerd (at) compnerd (dot) org
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits