Hi chandlerc, doug.gregor,

A better solution to http://llvm.org/bugs/show_bug.cgi?id=13777
Named namespace + more unique name to make ODR violations unlikely.

http://llvm-reviews.chandlerc.com/D38

Files:
  tools/clang/tools/clang-check/ClangCheck.cpp

Index: tools/clang/tools/clang-check/ClangCheck.cpp
===================================================================
--- tools/clang/tools/clang-check/ClangCheck.cpp
+++ tools/clang/tools/clang-check/ClangCheck.cpp
@@ -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"
+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());
Index: tools/clang/tools/clang-check/ClangCheck.cpp
===================================================================
--- tools/clang/tools/clang-check/ClangCheck.cpp
+++ tools/clang/tools/clang-check/ClangCheck.cpp
@@ -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"
+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

Reply via email to