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

Reply via email to