Edwin, > Did you look at the idea of using CommonOptionsParser? If it doesn't apply > for some reason that's fine but for tool consistency it would be nice.
I've been trying to figure it out. Perhaps you can help. I need it to also accept all the clang front-end options, but so far can't figure out how to connect them. Are the front end options handling and that of CommonOptionsParser independent of each other? I took a stab at it with the following, hoping the first call would load the static opts, but it seems to not do it: clang::driver::OptTable *Opts = clang::driver::createDriverOptTable(); CommonOptionsParser OptionsParser(argc, argv); -John -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Vane, Edwin Sent: Wednesday, March 13, 2013 11:30 AM To: John Thompson; [email protected] Subject: RE: [clang-tools-extra] r176883 - Review feedback change per Edwin: Move non-public members to end of classes. Did you look at the idea of using CommonOptionsParser? If it doesn't apply for some reason that's fine but for tool consistency it would be nice. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of John Thompson Sent: Tuesday, March 12, 2013 2:52 PM To: [email protected] Subject: [clang-tools-extra] r176883 - Review feedback change per Edwin: Move non-public members to end of classes. Author: jtsoftware Date: Tue Mar 12 13:51:47 2013 New Revision: 176883 URL: http://llvm.org/viewvc/llvm-project?rev=176883&view=rev Log: Review feedback change per Edwin: Move non-public members to end of classes. Modified: clang-tools-extra/trunk/modularize/Modularize.cpp Modified: clang-tools-extra/trunk/modularize/Modularize.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/Modularize.cpp?rev=176883&r1=176882&r2=176883&view=diff ============================================================================== --- clang-tools-extra/trunk/modularize/Modularize.cpp (original) +++ clang-tools-extra/trunk/modularize/Modularize.cpp Tue Mar 12 +++ 13:51:47 2013 @@ -145,9 +145,6 @@ struct HeaderEntry { typedef std::vector<HeaderEntry> HeaderContents; class EntityMap : public llvm::StringMap<llvm::SmallVector<Entry, 2> > { - llvm::DenseMap<const FileEntry *, HeaderContents> CurHeaderContents; - llvm::DenseMap<const FileEntry *, HeaderContents> AllHeaderContents; - public: llvm::DenseMap<const FileEntry *, HeaderContents> HeaderContentMismatches; @@ -197,14 +194,14 @@ public: CurHeaderContents.clear(); } +private: + llvm::DenseMap<const FileEntry *, HeaderContents> CurHeaderContents; + llvm::DenseMap<const FileEntry *, HeaderContents> AllHeaderContents; }; class CollectEntitiesVisitor : public RecursiveASTVisitor<CollectEntitiesVisitor> { - SourceManager &SM; - EntityMap &Entities; - public: CollectEntitiesVisitor(SourceManager &SM, EntityMap &Entities) : SM(SM), Entities(Entities) { } @@ -249,12 +246,12 @@ public: Entities.add(Name, isa<TagDecl>(ND)? Entry::Tag : Entry::Value, Loc); return true; } +private: + SourceManager &SM; + EntityMap &Entities; }; class CollectEntitiesConsumer : public ASTConsumer { - EntityMap &Entities; - Preprocessor &PP; - public: CollectEntitiesConsumer(EntityMap &Entities, Preprocessor &PP) : Entities(Entities), PP(PP) { } @@ -280,30 +277,32 @@ public: // Merge header contents. Entities.mergeCurHeaderContents(); } +private: + EntityMap &Entities; + Preprocessor &PP; }; class CollectEntitiesAction : public SyntaxOnlyAction { - EntityMap &Entities; - +public: + CollectEntitiesAction(EntityMap &Entities) : Entities(Entities) { } protected: virtual clang::ASTConsumer *CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { return new CollectEntitiesConsumer(Entities, CI.getPreprocessor()); } - -public: - CollectEntitiesAction(EntityMap &Entities) : Entities(Entities) { } +private: + EntityMap &Entities; }; class ModularizeFrontendActionFactory : public FrontendActionFactory { - EntityMap &Entities; - public: ModularizeFrontendActionFactory(EntityMap &Entities) : Entities(Entities) { } virtual CollectEntitiesAction *create() { return new CollectEntitiesAction(Entities); } +private: + EntityMap &Entities; }; int main(int argc, const char **argv) { _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
