]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.h
Use default member initializers and constructor delegation
[builder.git] / source / gnulinker.h
index 8c380c85ae9beb95c02c1c68645a1b580458c85d..821f7469f10f41c6d9bf870b464b519f36c81dd6 100644 (file)
@@ -15,23 +15,32 @@ class GnuLinker: public Tool
 private:
        class Linker: public SubTool
        {
+       private:
+               std::string compiler_tag;
+
        public:
                Linker(GnuLinker &, const std::string &);
 
-               virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
-               virtual std::string create_build_signature(const BuildInfo &) const;
-               virtual Task *run(const Target &) const;
+               std::string create_build_signature(const BuildInfo &) const override;
+       private:
+               void do_prepare() override;
+       public:
+               Task *run(const Target &) const override;
        };
 
-       Linker *default_linker;
-       Linker *cxx_linker;
+       Linker *default_linker = 0;
+       Linker *cxx_linker = 0;
 
 public:
        GnuLinker(Builder &, const Architecture &);
        ~GnuLinker();
 
-       virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
-       virtual Task *run(const Target &) const;
+       Target *create_target(const std::vector<Target *> &, const std::string &) override;
+       Target *create_install(Target &) const override;
+protected:
+       void do_prepare() override;
+public:
+       Task *run(const Target &) const override;
 };
 
 #endif