// RUN: %clang_cc1 -triple riscv64 -emit-llvm -target-feature +m -target-feature +v -target-abi lp64d -o /dev/null %s struct a { using b = char __attribute__((vector_size(sizeof(char)))); }; class c { using d = a::b; d e; public: static c f(); }; class g { public: template g(h); friend g operator^(g, g) { c::f; } friend g operator^=(g i, g j) { i ^ j; } }; template using k = g; template using m = k; void n() { void o(); m p = o ^= p; }