brintos

brintos / llvm-project-archived public Read only

0
0
Text · 519 B · 4cd60a8 Raw
25 lines · cpp
1// RUN: %clang_cc1 -triple riscv64 -emit-llvm -target-feature +m -target-feature +v -target-abi lp64d -o /dev/null %s2 3struct a {4  using b = char __attribute__((vector_size(sizeof(char))));5};6class c {7  using d = a::b;8  d e;9 10public:11  static c f();12};13class g {14public:15  template <class h> g(h);16  friend g operator^(g, g) { c::f; }17  friend g operator^=(g i, g j) { i ^ j; }18};19template <typename, int> using k = g;20template <typename l> using m = k<l, sizeof(l)>;21void n() {22  void o();23  m<char> p = o ^= p;24}25