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