[AArch64] Fix SVE testsuite failures for ILP32 (PR 83846)
[official-gcc.git] / gcc / testsuite / g++.dg / template / partial-specialization6.C
blob51a1590583987d2d03e2a9fbac03b23a3efc893c
1 // PR c++/80174
3 typedef unsigned char uint8_t; 
5 template <typename T>
6 struct HighestMaxFieldIdx {
7   static const uint8_t maxFieldIdx = T::fieldIdx;
8 };
10 template <typename This>
11 struct Outer {
13   template <uint8_t _fieldIdx, typename T, T This::*field>
14   struct Varint {};
17   template <uint8_t _fieldIdx, uint8_t This::*field>
18   struct Varint<_fieldIdx, uint8_t, field> {
19     static const uint8_t fieldIdx = _fieldIdx;
20   };
23 struct Msg {
24   uint8_t a;
26   static const uint8_t t
27   = HighestMaxFieldIdx<Outer<Msg>::Varint<1, uint8_t, &Msg::a> >::maxFieldIdx;