xref: /openbsd-src/gnu/llvm/clang/utils/VtableTest/check-zvt (revision e5dd70708596ae51455a0ffa086a00c5b29f8583)
1*e5dd7070Spatrick#!/bin/sh
2*e5dd7070Spatrick
3*e5dd7070SpatrickN_STRUCTS=300
4*e5dd7070Spatrick
5*e5dd7070Spatrick# Utility routine to "hand" check vtables.
6*e5dd7070Spatrick
7*e5dd7070Spatricklet i=1;
8*e5dd7070Spatrickwhile [ $i != $N_STRUCTS ]; do
9*e5dd7070Spatrick  sed -n "/^__ZTV.*s$i:/,/\.[sg][el]/p" test-clang.s | grep -v '\.[sg][el]' >test-clang-ztv
10*e5dd7070Spatrick  sed -n "/^__ZTV.*s$i:/,/\.[sg][el]/p" test-gcc.s | grep -v '\.[sg][el]' >test-gcc-ztv
11*e5dd7070Spatrick  diff -U3 test-gcc-ztv test-clang-ztv
12*e5dd7070Spatrick  if [ $? != 0 ]; then
13*e5dd7070Spatrick     echo "FAIL: s$i vtable"
14*e5dd7070Spatrick  else
15*e5dd7070Spatrick     echo "PASS: s$i vtable"
16*e5dd7070Spatrick  fi
17*e5dd7070Spatrick  let i=i+1
18*e5dd7070Spatrickdone
19