X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farchitecture.h;h=4642080c59307ab897fabb76d22c81d26ea70aed;hb=d1f9551e05c9d341149eb490e05b1465d3d6b711;hp=7f3c4b2a45e28b4e1d3c8900fa5e23cbb2d00bf2;hpb=3938f8030b1f62802decce19777ce70fdafaff10;p=builder.git diff --git a/source/architecture.h b/source/architecture.h index 7f3c4b2..4642080 100644 --- a/source/architecture.h +++ b/source/architecture.h @@ -27,12 +27,12 @@ private: std::string cpu; std::string fpu; std::string system; - unsigned bits; + unsigned bits = 0; std::string toolchain; std::string name; - bool native; + bool native = false; std::string cross_prefix; - std::map> filename_patterns; + std::map> filename_patterns; public: Architecture(Builder &b, const std::string &spec); @@ -44,7 +44,7 @@ public: const std::string &get_cpu() const { return cpu; } const std::string &get_fpu() const { return fpu; } const std::string &get_toolchain() const { return toolchain; } - bool match_name(const std::string &) const; + bool match_name(const std::string &, unsigned * = 0) const; std::string best_match(const std::vector &) const; bool is_native() const { return native; } bool is_cross() const { return !cross_prefix.empty(); } @@ -52,7 +52,7 @@ public: const std::string &get_cross_prefix() const { return cross_prefix; } template - const std::list &get_patterns() const; + const std::vector &get_patterns() const; template std::string create_filename(const std::string &) const; @@ -67,20 +67,20 @@ private: }; template -inline const std::list &Architecture::get_patterns() const +inline const std::vector &Architecture::get_patterns() const { auto i = filename_patterns.find(typeid(T).name()); if(i!=filename_patterns.end()) return i->second; - static std::list empty; + static std::vector empty; return empty; } template inline std::string Architecture::create_filename(const std::string &base) const { - const std::list &patterns = get_patterns(); + const std::vector &patterns = get_patterns(); return patterns.empty() ? base : patterns.front().apply(base); }