cxxrtl: do not use `->template` for non-dependent names.
authorwhitequark <whitequark@whitequark.org>
Tue, 26 Jan 2021 17:42:23 +0000 (17:42 +0000)
committerwhitequark <whitequark@whitequark.org>
Tue, 26 Jan 2021 18:09:53 +0000 (18:09 +0000)
This breaks build on MSVC but not GCC/Clang.

backends/cxxrtl/cxxrtl.h
backends/cxxrtl/cxxrtl_vcd.h

index 0a6bcb8494039224737e1f4fd37995c601c784fe..0e55c46c223986aea5bdf57009f9c671bd9ddebd 100644 (file)
@@ -1217,49 +1217,49 @@ value<BitsY> xnor_ss(const value<BitsA> &a, const value<BitsB> &b) {
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> shl_uu(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template zcast<BitsY>().template shl(b);
+       return a.template zcast<BitsY>().shl(b);
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> shl_su(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template scast<BitsY>().template shl(b);
+       return a.template scast<BitsY>().shl(b);
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> sshl_uu(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template zcast<BitsY>().template shl(b);
+       return a.template zcast<BitsY>().shl(b);
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> sshl_su(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template scast<BitsY>().template shl(b);
+       return a.template scast<BitsY>().shl(b);
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> shr_uu(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template shr(b).template zcast<BitsY>();
+       return a.shr(b).template zcast<BitsY>();
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> shr_su(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template shr(b).template scast<BitsY>();
+       return a.shr(b).template scast<BitsY>();
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> sshr_uu(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template shr(b).template zcast<BitsY>();
+       return a.shr(b).template zcast<BitsY>();
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
 CXXRTL_ALWAYS_INLINE
 value<BitsY> sshr_su(const value<BitsA> &a, const value<BitsB> &b) {
-       return a.template sshr(b).template scast<BitsY>();
+       return a.sshr(b).template scast<BitsY>();
 }
 
 template<size_t BitsY, size_t BitsA, size_t BitsB>
index 6ee98b4284db16080b45054f50b400be70e677bc..3f40a8d122d4e409412e6a87318d82c60ddbdfa7 100644 (file)
@@ -228,13 +228,13 @@ public:
        }
 
        void add(const debug_items &items) {
-               this->template add(items, [](const std::string &, const debug_item &) {
+               this->add(items, [](const std::string &, const debug_item &) {
                        return true;
                });
        }
 
        void add_without_memories(const debug_items &items) {
-               this->template add(items, [](const std::string &, const debug_item &item) {
+               this->add(items, [](const std::string &, const debug_item &item) {
                        return item.type != debug_item::MEMORY;
                });
        }