[AArch64] Fix SVE testsuite failures for ILP32 (PR 83846)
[official-gcc.git] / gcc / testsuite / g++.dg / template / conv14.C
blob509ae6a654652e6016059dab107ccde604398ba9
1 // PR c++/61647
3 class XX;
5 template<typename Container, typename Key>
6 struct Accessor;
8 template<typename Container, typename Key, typename KeyStore = Key>
9 class Variant {
10 protected:
11     KeyStore index;
12     Container state;
13 public:
14     Variant(Container st, const Key& i) : index(i), state(st) {}
16     template<typename T>
17     operator T() const {
18         return Accessor<Container, KeyStore>::template get<T>(state, index);
19     }
22 class AutoCleanVariant : public Variant<XX*, int> {
23 public:
24     AutoCleanVariant(XX* st, int i) : Variant<XX*,int>(st,i) {}
26     template<typename T>
27     operator T() const {
28          return Variant<XX*, int>::operator T();
29     }