I could definitely try to find a number of other solutions, but unfortunately it would be not fast, as I don't have a configuration that allows to reproduce this issue, and I would have to ask the original reporter to verify each version. And, after all, is this solution that bad? What problems can it lead to?
On Mon, Sep 10, 2012 at 5:23 PM, David Blaikie <[email protected]> wrote: > On Mon, Sep 10, 2012 at 7:54 AM, Alexander Kornienko <[email protected]> > wrote: > > Author: alexfh > > Date: Mon Sep 10 09:54:38 2012 > > New Revision: 163513 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=163513&view=rev > > Log: > > Workaround for MacOSX build failure with gcc <= 4.4 > > > > Summary: > > A better solution to http://llvm.org/bugs/show_bug.cgi?id=13777 > > Named namespace + more unique name to make ODR violations unlikely. > > > > Reviewers: chandlerc, doug.gregor, klimek > > > > Reviewed By: doug.gregor > > > > CC: cfe-commits > > > > Differential Revision: http://llvm-reviews.chandlerc.com/D38 > > > > Modified: > > cfe/trunk/tools/clang-check/ClangCheck.cpp > > > > Modified: cfe/trunk/tools/clang-check/ClangCheck.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/ClangCheck.cpp?rev=163513&r1=163512&r2=163513&view=diff > > > ============================================================================== > > --- cfe/trunk/tools/clang-check/ClangCheck.cpp (original) > > +++ cfe/trunk/tools/clang-check/ClangCheck.cpp Mon Sep 10 09:54:38 2012 > > @@ -58,10 +58,10 @@ > > "ast-dump-filter", > > cl::desc(Options->getOptionHelpText(options::OPT_ast_dump_filter))); > > > > -// Anonymous namespace here causes problems with gcc <= 4.4 on MacOS: > > -// http://llvm.org/bugs/show_bug.cgi?id=13777 > > -// namespace { > > -class ActionFactory { > > +// Anonymous namespace here causes problems with gcc <= 4.4 on MacOS > 10.6. > > +// "Non-global symbol: ... can't be a weak_definition" > > Judging by that diagnostic - is it possible that making the > newASTConsumer member function non-inline would have been an > alternative fix to the code? > > > +namespace clang_check { > > +class ClangCheckActionFactory { > > public: > > clang::ASTConsumer *newASTConsumer() { > > if (ASTList) > > @@ -73,10 +73,10 @@ > > return new clang::ASTConsumer(); > > } > > }; > > -// } > > +} > > > > int main(int argc, const char **argv) { > > - ActionFactory Factory; > > + clang_check::ClangCheckActionFactory Factory; > > CommonOptionsParser OptionsParser(argc, argv); > > ClangTool Tool(OptionsParser.GetCompilations(), > > OptionsParser.GetSourcePathList()); > > > > > > _______________________________________________ > > cfe-commits mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > -- Alexander Kornienko | Software Engineer | [email protected] | +49 151 221 77 957 Google Germany GmbH | Dienerstr. 12 | 80331 München
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
